oracle存储过程(语法学习)

IT技术2年前 (2023)发布 投稿用户
0

概念存储子程序使用子程序存储位置存储在数据库中存储在使用程序中调用方式任何数据库东西或使用中都能够调用只用在子程序树立的使用中才能调用彼此调用不能够调用使用子程序能够调用存储子程序树立子程序的文档存储的位置

oracle

oracle存储过程语法学习

Oracle存储进程:
1.1第一个存储进程
–创立存储进程
createorreplaceprocedureproc1(
p_para1varchar2,
p_para2outvarchar2,
p_para3inoutvarchar2
)as
v_namevarchar2(20);
begin
v_name:=’张三’;
p_para3:=v_name;
dbms_output.put_line(‘p_para3:’||p_para3);
end;
上面便是一个最简单的存储进程。一个存储进程大体分为这么几个部分:
创立句子:createorreplaceprocedure存储进程名
假如没有orreplace句子,则仅仅是新建一个存储进程。假如体系存在该存储进程,则会报错。Createorreplaceprocedure假如体系中没有此存储进程就新建一个,假如体系中有此存储进程则把本来删除去,从头创立一个存储进程。
存储进程名定义:包含存储进程名和参数列表。参数名和参数类型。参数名不能重复,参数传递方法:IN,OUT,INOUT
IN表明输入参数,按值传递方法。
OUT表明输出参数,能够理解为按引证传递方法。能够作为存储进程的输出结果,供外部调用者使用。
INOUT即可作输入参数,也可作输出参数。
参数的数据类型只需要指明类型名即可,不需要指定宽度。
参数的宽度由外部调用者决议。
进程能够有参数,也能够没有参数
变量声明块:紧跟着的as(is)关键字,能够理解为pl/sql的declare关键字,用于声明变量。
变量声明块用于声明该存储进程需要用到的变量,它的作用域为该存储进程。另外这儿声明的变量必须指定宽度。遵从PL/SQL的变量声明标准。
进程句子块:从begin关键字开始为进程的句子块。存储进程的详细逻辑在这儿来实现。
反常处理块:关键字为exception,为处理句子产生的反常。该部分为可选
结束块:由end关键字结果。
1.2存储进程的参数传递方法
存储进程的参数传递有三种方法:IN,OUT,INOUT.
IN按值传递,并且它不答应在存储进程中被从头赋值。假如存储进程的参数没有指定存参数传递类型,默以为IN
这一点与其它高级言语都不同。它相当于java在参数前面加上final关键字。
OUT参数:作为输出参数,需要注意,当一个参数被指定为OUT类型时,就算在调用存储进程之前对该参数进行了赋值,在存储进程中该参数的值仍然是null.
INOUT是真实的按引证传递参数。即可作为传入参数也能够作为传出参数。
———————————————————————–
———————————————————————–
Oracle存储进程语法学习:
存储进程创立语法:
createorreplaceprocedure存储进程名(param1intype,param2outtype)
as
变量1类型(值规模);
变量2类型(值规模);
Begin
Selectcount(*)into变量1from表Awhere列名=param1;
If(判别条件)then
Select列名into变量2from表Awhere列名=param1;
Dbms_output.Put_line(‘打印信息’);
Elsif(判别条件)then
Dbms_output.Put_line(‘打印信息’);
Else
Raise反常名(NO_DATA_FOUND);
Endif;
Exception
Whenothersthen
Rollback;
End;
注意事项:
1、存储进程参数不带取值规模,in表明传入,out表明输出
2、变量带取值规模,后面接分号
3、在判别句子前最好先用count(*)函数判别是否存在该条操作记录
4、用select。。。into。。。给变量赋值
5、在代码中抛反常用raise+反常名

© 版权声明
好牛新坐标 广告
版权声明:
1、IT大王遵守相关法律法规,由于本站资源全部来源于网络程序/投稿,故资源量太大无法一一准确核实资源侵权的真实性;
2、出于传递信息之目的,故IT大王可能会误刊发损害或影响您的合法权益,请您积极与我们联系处理(所有内容不代表本站观点与立场);
3、因时间、精力有限,我们无法一一核实每一条消息的真实性,但我们会在发布之前尽最大努力来核实这些信息;
4、无论出于何种目的要求本站删除内容,您均需要提供根据国家版权局发布的示范格式
《要求删除或断开链接侵权网络内容的通知》:https://itdw.cn/ziliao/sfgs.pdf,
国家知识产权局《要求删除或断开链接侵权网络内容的通知》填写说明: http://www.ncac.gov.cn/chinacopyright/contents/12227/342400.shtml
未按照国家知识产权局格式通知一律不予处理;请按照此通知格式填写发至本站的邮箱 wl6@163.com

相关文章