0
点赞
收藏
分享

微信扫一扫

存储过程语法

看山远兮 2022-06-30 阅读 82

创建存储过程与基础语法

create or replace procedure  hehe
as
v_total number(1); --定义变量

begin
v_total :=1234; --初始赋值
...
IF (v_total>1000 or v_total<2000 and v_total=10086) --判断语句
then
v_total:=123;
else
v_total:=456;
end if ;
...

 

对象定义(游标cursor )

cursor users is
select name,code from sys_users t;

 

循环(游标与列表)
for userinfo in users  loop

DBMS_OUTPUT.put_line('用户名为:' ||userinfo.name);

end loop;



或(不定义游标)

for userinfo in (select name,code from sys_users t) loop

DBMS_OUTPUT.put_line('用户名为:' ||userinfo.name);

end loop;

或直接LOOP

LOOP
.....

 V_ROW_NUM := V_ROW_NUM + 1;  --自增变量
 EXIT WHEN V_ROW_NUM = 215;  --当这个变量值等于215时退出循环

END LOOP

 

执行SQL

execute immediate ('insert into xxxx'); --或者sql语句变量

 

 

异常拦截与抛出(该begin ..end类似try{  } catch{})

begin
execute immediate ('create table xxxx(xxx) '); --执行创表语法,可能会异常

EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('错误内容为:' ||tbl_name_rec.tab_name|| sqlerrm); --把异常打印出来,或者可把异常插入到异常日志表

end;

 

函数创建

create or replace function fangfaming(table_name varchar2,table_user varchar2,...) return varchar2
is

变量定义...

begin



return 'fsdfsd'; --返回

end;

 

举报

相关推荐

0 条评论