加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

全面解析Oracle Procedure 基本语法

发布时间:2020-12-12 17:05:53 所属栏目:百科 来源:网络整理
导读:关键字: oracle 存储过程 1.基本结构 END 存储过程名字 2.SELECT INTO STATEMENT 将select查询的结果存入到变量中,可以同时将多个列存储多个变量中,必须有一条 记录,否则抛出异常(如果没有记录抛出NO_DATA_FOUND) 例子: 3.IF 判断 4.while 循环 5.变量赋

关键字: 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:演示程序包中的游标 创建包规范

创建包主体

=1000 and rec_emp.sal<2000 then dbms_output.put_line('员工工资:'||rec_emp.sal||',工资一般,争取搞个部门经理做做'); else dbms_output.put_line('员工工资:'||rec_emp.sal||',工资不错,争取搞个总经理做做'); end if; end loop; end pro_cur; end pack_emp;

调用程序包中的过程以调用程序包中的游标

示例10:存储过程返回游标的子程序包(此程序包返回r_cur游标)

查询有关过程、函数和程序包的信息:

以上所述是小编给大家介绍的Oracle Procedure知识,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程之家网站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读