关键字: oracle 存储过程
1.基本结构
END 存储过程名字
2.SELECT INTO STATEMENT
将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条
记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND)
例子:
3.IF 判断
4.while 循环
5.变量赋值
V_TEST := 123;
6.用for in 使用cursor
7.带参数的cursor
8.用pl/sql developer debug
连接数据库后建立一个Test WINDOW
在窗口输入调用SP的代码,F9开始debug,CTRL+N单步调试
转载:
oracle 存储过程
关键字: oracle 存储过程
存储过程创建语法:
as
变量1 类型(值范围);
变量2 类型(值范围);
注意事项:
1, 存储过程参数不带取值范围,in表示传入,out表示输出
2, 变量带取值范围,后面接分号
3, 在判断语句前最好先用count(*)函数判断是否存在该条操作记录
4, 用select 。。。into。。。给变量赋值
5, 在代码中抛异常用 raise+异常名
以命名的异常
命名的系统异常 产生原因
语法及示例:
1、存储过程创建存储过程的语法:
其中:procedure_name是过程的名称。
parameter_list是参数列表。
local_declarations是局部声明。
executable_statements是可执行语句。
exception_handlers是异常处理程序。
示例1:
演示创建过程(参数列表中为IN参数赋予一个默认值,不能为OUT、IN OUT参数赋予默认值)
调用过程:
也可以在过程里面调用,直接写上procudure_name而不必写EXECUTE。
示例2:演示创建带OUT参数的过程
调用带OUT参数的过程:
示例3:
演示创建带IN OUT参数的过程
调用带IN OUT参数的过程:
示例4:将过程的执行权限授予其他用户
将find_emp过程的执行权限授予给用户scott,将执行swap过程的权限授予所有数据库用户。
删除过程语法:
2、函数 定义函数的语法如下:
其中:function_name是函数的名称。
parameter_list是参数列表。
local_declarations是局部声明。
executable_statements是可执行语句。
exception_handlers是异常处理程序。
使用函数时注意:形式参数必须只使用数据库类型,不得使用PL/SQL类型。函数的返回类型也必须是数据库类型。 函数不能单独执行,只能通过SQL语句或PL/SQL程序块来调用。
示例5:
演示如何创建函数
调用函数:
函数的授权:同过和的授权一样具体请看示例4。
删除函数:
过程和函数的差异 过程 函数 作为PL/SQL语句执行 作为表达式的一部分调用 在规范中不包含RETURN子句 必须在规范中包含RETURN子句 不返回任何值 必须返回单个值 可以包含RETURN语句,但是与函数不同,它不能用于返回值 必须包含至少一条RETURN语句
3、程序包 创建包规范的语法:
其中:package_name是包的名称。
Public type and item declarations是声明类型、常量、变量、异常和游标等。 Subprogram specifications声明PL/SQL子程序。
示例6:
演示创建程序包规范
创建包主体的语法:
其中:package_name是包的名称。
Public type and item declarations是声明类型、常量、变量、异常和游标等。
Subprogram bodies是定义公共和私有PL/SQL子程序。
示例7:演示创建程序包主体
示例8:调用程序包中创建的过程和函数
示例9:演示程序包中的游标 创建包规范
创建包主体
调用程序包中的过程以调用程序包中的游标
示例10:存储过程返回游标的子程序包(此程序包返回r_cur游标)
查询有关过程、函数和程序包的信息:
以上所述是小编给大家介绍的Oracle Procedure知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!