创建存储过程与基础语法
create or replace procedure heheasv_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 loopDBMS_OUTPUT.put_line('用户名为:' ||userinfo.name);end loop; 或(不定义游标)for userinfo in (select name,code from sys_users t) loopDBMS_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{})
beginexecute immediate ('create table xxxx(xxx) '); --执行创表语法,可能会异常 EXCEPTIONWHEN 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 varchar2is变量定义...beginreturn 'fsdfsd'; --返回end;