您可以使用一组记录同时插入多个用户.考虑:

SQL> CREATE TABLE "USER" (

2 "Name" VARCHAR2(50),

3 "Surname" VARCHAR2(50),

4 "Dt_Birth" DATE

5 );

Table created

SQL> CREATE OR REPLACE PACKAGE user_pkg IS

2

3 TYPE user_rec IS RECORD (

4 name VARCHAR2(50),

5 surname VARCHAR2(50),

6 dt_birth DATE

7 );

8 TYPE user_tab IS TABLE OF user_rec INDEX BY BINARY_INTEGER;

9

10 PROCEDURE insert_user(p_user user_tab);

11

12 END user_pkg;

13 /

Package created

这里我定义了两种数据类型:一种是包含一个用户数据的RECORD类型,另一种是包含多条记录的INDEX BY TABLE.现在程序本身:

SQL> CREATE OR REPLACE PACKAGE BODY user_pkg IS

2

3 PROCEDURE insert_user(p_user user_tab) IS

4 BEGIN

5 FOR i IN 1..p_user.count LOOP

6 INSERT INTO "USER"("Name", "Surname", "Dt_Birth")

7 VALUES (p_user(i).name,

8 p_user(i).surname,

9 p_user(i).dt_birth);

10 END LOOP;

11 END insert_user;

12

13 END user_pkg;

14 /

Package body created

然后你会调用这样的程序:

SQL> DECLARE

2 l_user_tab user_pkg.user_tab;

3 BEGIN

4 SELECT owner, object_name, created

5 BULK COLLECT INTO l_user_tab

6 FROM all_objects

7 WHERE ROWNUM <= 3;

8 user_pkg.insert_user(l_user_tab);

9 END;

10 /

SQL> SELECT * FROM "USER";

Name Surname Dt_Birth

------- -------- -----------

SYS IND$ 12/05/2000

SYS ICOL$ 12/05/2000

SYS OBJ$ 12/05/2000

oracle存储过程数量,Oracle:存储过程的可变参数数量相关推荐

  1. 实现Choose函数(FreeBasic可变参数数量用法例题)【VFB源码】

    VisualBasic6 里有个 Choose函数 ,而在 FreeBasic里没有,要用到这函数,需要自己写一个. Choose 函数 从参数列表中选择并返回一个值. 语法 Choose(index ...

  2. c ajax传递多个参数,c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod...

    修改后的服务器端代码: [WebMethod] public string Concat(List arr) { string result = ""; for (int i = ...

  3. 【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ]

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  4. C语言学习笔记---可变参数

      在C语言中有些函数传递进入的参数数量是不固定的,最常见的就是 printf() 函数,它就是利用可变参数来实现任意格式的数据打印功能. 我们自己也可以编写一个参数可变的函数,每次动态的检测传入的参 ...

  5. 【读书笔记】【程序员的自我修养 -- 链接、装载与库(三)】函数调用与栈(this指针、返回值传递临时对象构建栈、运行库与多线程、_main函数、系统调用与中断向量表、Win32、可变参数、大小端

    文章目录 前言 介绍 内存 内存布局 栈与调用惯例 堆与内存管理 运行库 入口函数和程序初始化 C/C++运行库 运行库与多线程 C++全局构造与析构 fread 实现 系统调用与API 系统调用介绍 ...

  6. 深度学习模型中的参数数量(备忘)

    原文地址:huay' blog/模型中的参数数量(备忘) 记录模型参数数量的计算方法 最早使用 tensorflow 的时候没怎么注意这个问题: 后面高级 API 用的多了,有点忘记怎么计算模型的参数 ...

  7. oracle 定时任务 job 调用存储过程有回到输出参数(含out参数)

    oracle 定时任务 job 调用存储过程有返回输出参数(含out参数) 因前台调用一个含有OUT参数的存储过程,同时在JOB里也想调用同一个存储过程,不想将OUT参数去掉重新建一个存储过程再被JO ...

  8. .NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)

    今天一个项目组的朋友问及:如何在.NET中调用Oracle的存储过程,并以数组作为参数输入. Oracle的PL/SQL非常强大,支持定长数组和变长数组,支持任何自定义数据类型.通过阅读ODP的文档, ...

  9. Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:

    摘要:最近项目中用到了Oracle存储过程,所以就自己尝试着写了下,下面我把我遇到的问题描述一下:就是在我处理解析Clob字段中的xml字符串的时候,有个需求就是根据指定的主键参数,来判断该参数的值是 ...

最新文章

  1. 浅谈代码的执行效率(4):汇编优化
  2. 企业网站制作要以简约为主
  3. 概念辨析:工厂模式 工厂方法模式 简单工厂模式 抽象工厂
  4. SVN服务器的搭建,它不是最全面的却是最详细易懂的~
  5. nginx系列之七:限流配置
  6. 探讨C#中字符串的加密
  7. Diango博客--2.博客从“裸奔”到“有皮肤”
  8. 这些迹象表明公司即将裁员
  9. oracle10.2.0.4 dbca,在rhel5上oracle 10.2.0.4 上dbca silent删除数据库
  10. 数据库基本SQL语句大全
  11. java 线程 handler,java.lang.RuntimeException:处理程序(android.os.Handler)在死线程上向处理程序发送消息...
  12. 提高网页打开速度的一些小技巧
  13. 线程基础阶段性总结和扩展(二)——ThreadLock
  14. bjui—关闭dialog以及当前标签
  15. 十进制进制法_进制转换方法(进制转换方法的口诀)
  16. 图形处理单元(GPU)的演进
  17. 程序封装真的是令人讨厌_网络上最令人讨厌的黑暗模式
  18. 谈女人 作者:张爱玲
  19. springboot+shiro+jwt实现登录+权限验证
  20. Kibana基础:3:生成定制化的Dashboard

热门文章

  1. 矩阵手册(五)—— 内积
  2. 5岁自学python编程-哈尔滨python少儿编程
  3. python下载安装-Python下载安装
  4. vb还是python强大-vb和python哪个速度快
  5. Google云端语音识别app
  6. c语言马拉松试题,C语言马拉松_04.2_函数与指针
  7. bcb6通过https接口post数据_3分钟短文 | 有挑战!PHP用1个函数实现post请求,你用哪个?
  8. jni开发-CmakeList详解
  9. 最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld
  10. idft重建图像 matlab_你赞成在医疗图像处理领域使用超分辨率重建技术吗?