使用集合变量作为输入参数

CREATE TYPE deptno_table_type IS TABLE OF NUMBER(2);

/

CREATE TYPE dname_table_type IS TABLE OF VARCHAR2(10);

/

CREATE TYPE loc_table_type IS TABLE OF VARCHAR2(20);

/

CREATE OR REPLACE PROCEDURE add_department(

deptno_table deptno_table_type,

dname_table dname_table_type,loc_table loc_table_type)

IS

BEGIN

FORALL i IN 1..deptno_table.COUNT

INSERT INTO dept VALUES

(deptno_table(i),dname_table(i),loc_table(i));

EXCEPTION

WHEN DUP_VAL_ON_INDEX THEN

RAISE_APPLICATION_ERROR(-20012,'部门号不能重复');

END;

/

DECLARE

deptno_table deptno_table_type:=deptno_table_type(60,70,80);

dname_table dname_table_type :=dname_table_type('计划处','质量处','技术处');

loc_table loc_table_type:=loc_table_type('呼和浩特','包头','乌海');

BEGIN

add_department(deptno_table,dname_table,loc_table);

END;

/

18-18:使用集合变量作为输出参数

CREATE TYPE ename_table_type IS TABLE OF VARCHAR2(10);

/

CREATE TYPE job_table_type IS TABLE OF VARCHAR2(10);

/

CREATE OR REPLACE PROCEDURE get_emp(

dno NUMBER,ename_table OUT ename_table_type,

job_table OUT job_table_type) IS

BEGIN

SELECT ename,job BULK COLLECT INTO ename_table,job_table

FROM emp WHERE deptno=dno;

EXCEPTION

WHEN NO_DATA_FOUND THEN

RAISE_APPLICATION_ERROR(-20010,'该部门不存在');

END;

/

DECLARE

ename_table ename_table_type;

job_table job_table_type;

BEGIN

get_emp(&dno,ename_table,job_table);

FOR i IN 1..ename_table.COUNT LOOP

dbms_output.put_line('姓名:'||ename_table(i)

||',岗位:'||job_table(i));

END LOOP;

END;

/

下面是存储过程代码:

SQL code

oracle test传入参数,oracle存储过程,test(测试)时传自定义类型参数问题相关推荐

  1. oracle scn隐藏参数,Oracle隐含参数scn不一致启动

    Oracle隐含参数:allow_resetlogs_corruption的使用提示:Oracle的隐含参数只应该在测试环境或者在Oracle Support的支持下使用or Oracle隐含参数:a ...

  2. oracle接收输入参数,Oracle带输入输出参数存储过程(包括sql分页功能)

    记录一下,免得以后忘记了又要到处去找. begin /*这里不能直接执行select语句但可以直接执行update.delete.insert语句*/ end里面不能接执行select语句,声明会话级 ...

  3. oracle sql文本 参数,ORACLE 参数文件

    参数文件:spfile / pfile 查看目前系统使用的参数文件信息: show parameter spfile; 动态参数文件spfile文件:二进制文件 位置:$ORACLE_HOME/dbs ...

  4. oracle的导出参数statistic,使用expdp导出时评估所需存储容量大小

    我们在使用expdp进行数据导出时,可以事先评估需要存储大小容量(bytes),Oracle可以通过两种方式进行容量估算: [@more@] 1).通过数据块数量 2).通过统计信息中记录的内容估算 ...

  5. oracle 设置 sga_max_size参数,Oracle教程之SGA_MAX_SIZE参数

    SGA_MAX_SIZE SGA_MAX_SIZE这个参数顾名思义,它用来控制SGA 使用虚拟内存 的最大大小,这里的虚拟内存的含义可能会有所模糊,先可以这样理解,就是Oracle 所能在内存中给SG ...

  6. oracle修改rman参数,Oracle数据库中RMAN默认配置参数代表什么意思

    RMAN> show all; db_unique_name 为 ORCL11G64B 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUN ...

  7. oracle cbo rbo参数,Oracle优化器(RBO与CBO)

    在Oracle中80%的性能问题是由SQL语句引起的,而在SQL进行硬解析时会使用Oracle优化器.优化器(Optimizer)是Oracle中内置的一个核心子系统,主要负责成生SQL执行计划.目前 ...

  8. 修改oracle的隐藏参数,oracle隐藏参数查看及修改

    查看隐藏参数 select x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1, ...

  9. oracle 游标当方法参数,Oracle游标、参数的使用例子

    /// /// 总部审核 /// /// /// public int Update(Hashtable ht) { //修改 StringBuilder sb = new StringBuilder ...

最新文章

  1. [转]mysql性能的检查和调优方法
  2. AI 风投的下一个拐点是进还是退?
  3. 第四章 SQL*plus介绍、常用命令
  4. 【通知】深度学习之人脸图像算法重印,欢迎读者支持!
  5. 详解CUDA核函数及运行时参数
  6. mysql合并统计总数,mysql统计多表交织组合总数
  7. spark发行版笔记13
  8. git安装 tor_【git安装教程 windows】怎么装git window_git安装配置教程
  9. 串口监视工具百度云免费下载
  10. python分行政区域汇总_python:编写行政区域三级菜单(day 1)
  11. Xshell 6安装和使用教程
  12. 如何用计算机计算概率,计算器怎么算概率里面的A和C
  13. vue中友盟统计---事件跟踪部署
  14. 台式WIN7和os x yosemite 10.10.1懒人版双系统安装教程
  15. 笨鸟的平凡之路-KETTLE的安装
  16. excel表格内容拆分_3个动图,教你学会如何让excel表格自动拆分,学会它,小白变大神...
  17. Unity中的矩阵含义
  18. 2021-09-10 LeetCode1894-找到需要补充粉笔的学生编号(每日一题)
  19. $.ajax的各个参数
  20. 智慧城市八大应用,助力城市更加智慧

热门文章

  1. 用python重构策略模式
  2. 从C#到Objective-C,循序渐进学习苹果开发(2)--Objective-C和C#的差异
  3. IDEA 工具使用报错总结
  4. VirtualBox 安装 Ubuntu 14.10 花屏 解决方案
  5. 线性表【01】线性表的类型定义
  6. mysql所支持的比较运算符_MySQL比较运算符一览表(带解析)
  7. 安装在电脑上的网络测试软件,iperf3 网络测试工具
  8. mysql 5.7 单节点多实例_mysql5.7 多实例(第二篇)从节点数据异常
  9. 麦块服务器显示连接已丢失,麦块服务器密码怎么设置
  10. 如何用matlab分析代谢,代谢流分析工具-CellNetAnalyzer