create or replace procedure test1(
param1 in number, --传入参数1
param2 in varchar2, --传入参数2
res out varchar2, --返回参数
...
) is
cus_param1 number; --自定义变量1
cus_param2 varchar2(20); --自定义变量2
begin
null; --处理逻辑的sql
end test1;
create or replace procedure test1
:创建一个名称为test1
的存储过程, 如果存在就覆盖它;
is
:关键词,表明后面将跟随一个PL/SQL体;
begin
:关键词,表明PL/SQL体的开始;
null;
:PL/SQL处理逻辑的sql,至少需要有一句。此处为null表示什么也不做;
end
:关键词,表明PL/SQL体的结束;
param1 in number
,param2 in varchar2
,res out varchar2
存储过程参数不带取值范围,类型可以使用任意Oracle中的合法类型;
in
表示传入;
out
表示输出;
cus_param1 number
,cus_param2 varchar2(20)
变量带取值范围,类型可以使用任意Oracle中的合法类型;
create or replace procedure test2(bf_id in number,status in number,res out varchar2) is
count_num number;
begin
select count(*) into count_num from sft_sys_bfinfo where bfid=bf_id;
if count_num > 0 then
begin
update sft_sys_bfinfo set tj_cfg=status where bfid=bf_id;
end;
end if;
commit;
res := '成功';
Exception
When others then
Dbms_output.Put_line(sqlerrm); --打印输出错误
Rollback; --回滚事务
dbms_output.put_line('存储过程执行异常,事物回滚!');
res := '失败';
end test2;
select xxx into 变量
赋值select count(*) into count_num from sft_sys_bfinfo where bfid=bf_id;
变量:=xxx
赋值res :='成功'
if count_num > 0 then
begin
update sft_sys_bfinfo set tj_Cfg=status where bfid=bf_id;
end;
end if;
commit;
Exception
When others then
Dbms_output.Put_line(sqlerrm); --打印输出错误
Rollback; --回滚事务
dbms_output.put_line('存储过程执行异常,事物回滚!');
res := '失败';
select count(*) into count_num from sft_sys_bfinfo where bfid=bfid;
select count(*) into count_num from sft_sys_bfinfo where bfid=bf_id;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。