oracle存储过程数量,Oracle:存储过程的可变参数数量
您可以使用一组记录同时插入多个用户.考虑:
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:存储过程的可变参数数量相关推荐
- 实现Choose函数(FreeBasic可变参数数量用法例题)【VFB源码】
VisualBasic6 里有个 Choose函数 ,而在 FreeBasic里没有,要用到这函数,需要自己写一个. Choose 函数 从参数列表中选择并返回一个值. 语法 Choose(index ...
- c ajax传递多个参数,c# – 使用jQuery AJAX将字符串数组传递给具有可变参数数量的webmethod...
修改后的服务器端代码: [WebMethod] public string Concat(List arr) { string result = ""; for (int i = ...
- 【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ]
相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...
- C语言学习笔记---可变参数
在C语言中有些函数传递进入的参数数量是不固定的,最常见的就是 printf() 函数,它就是利用可变参数来实现任意格式的数据打印功能. 我们自己也可以编写一个参数可变的函数,每次动态的检测传入的参 ...
- 【读书笔记】【程序员的自我修养 -- 链接、装载与库(三)】函数调用与栈(this指针、返回值传递临时对象构建栈、运行库与多线程、_main函数、系统调用与中断向量表、Win32、可变参数、大小端
文章目录 前言 介绍 内存 内存布局 栈与调用惯例 堆与内存管理 运行库 入口函数和程序初始化 C/C++运行库 运行库与多线程 C++全局构造与析构 fread 实现 系统调用与API 系统调用介绍 ...
- 深度学习模型中的参数数量(备忘)
原文地址:huay' blog/模型中的参数数量(备忘) 记录模型参数数量的计算方法 最早使用 tensorflow 的时候没怎么注意这个问题: 后面高级 API 用的多了,有点忘记怎么计算模型的参数 ...
- oracle 定时任务 job 调用存储过程有回到输出参数(含out参数)
oracle 定时任务 job 调用存储过程有返回输出参数(含out参数) 因前台调用一个含有OUT参数的存储过程,同时在JOB里也想调用同一个存储过程,不想将OUT参数去掉重新建一个存储过程再被JO ...
- .NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)
今天一个项目组的朋友问及:如何在.NET中调用Oracle的存储过程,并以数组作为参数输入. Oracle的PL/SQL非常强大,支持定长数组和变长数组,支持任何自定义数据类型.通过阅读ODP的文档, ...
- Oracle存储过程中如何根据指定的参数判断该参数的值否存在数据表中:
摘要:最近项目中用到了Oracle存储过程,所以就自己尝试着写了下,下面我把我遇到的问题描述一下:就是在我处理解析Clob字段中的xml字符串的时候,有个需求就是根据指定的主键参数,来判断该参数的值是 ...
最新文章
- 浅谈代码的执行效率(4):汇编优化
- 企业网站制作要以简约为主
- 概念辨析:工厂模式 工厂方法模式 简单工厂模式 抽象工厂
- SVN服务器的搭建,它不是最全面的却是最详细易懂的~
- nginx系列之七:限流配置
- 探讨C#中字符串的加密
- Diango博客--2.博客从“裸奔”到“有皮肤”
- 这些迹象表明公司即将裁员
- oracle10.2.0.4 dbca,在rhel5上oracle 10.2.0.4 上dbca silent删除数据库
- 数据库基本SQL语句大全
- java 线程 handler,java.lang.RuntimeException:处理程序(android.os.Handler)在死线程上向处理程序发送消息...
- 提高网页打开速度的一些小技巧
- 线程基础阶段性总结和扩展(二)——ThreadLock
- bjui—关闭dialog以及当前标签
- 十进制进制法_进制转换方法(进制转换方法的口诀)
- 图形处理单元(GPU)的演进
- 程序封装真的是令人讨厌_网络上最令人讨厌的黑暗模式
- 谈女人 作者:张爱玲
- springboot+shiro+jwt实现登录+权限验证
- Kibana基础:3:生成定制化的Dashboard
热门文章
- 矩阵手册(五)—— 内积
- 5岁自学python编程-哈尔滨python少儿编程
- python下载安装-Python下载安装
- vb还是python强大-vb和python哪个速度快
- Google云端语音识别app
- c语言马拉松试题,C语言马拉松_04.2_函数与指针
- bcb6通过https接口post数据_3分钟短文 | 有挑战!PHP用1个函数实现post请求,你用哪个?
- jni开发-CmakeList详解
- 最简单的基于FFmpeg的移动端例子:Windows Phone HelloWorld
- idft重建图像 matlab_你赞成在医疗图像处理领域使用超分辨率重建技术吗?