預存程序專講,以下內容是昨天在寧波汽車站候車時,聽講的。當時與一個女生(紅上衣,眼睛很亮的)女生一見鐘情,最後她坐到寧海的汽車走了。
1.
create procedure pro1
is
begin
insert into emp(empno,ename) values('123','testName');
end;
/
執行後才能加入的。即在控制台調用此預存程序:exec pro1;
在java中調用,則:CallalbeStatement
2.
create procedure pro2(in_empno number)
is
begin
delete from emp where empon=in_empno;
end;
/
執行exec pro2(33);
備忘:其參數與函數定義變數相反。
3.pl/sql可以寫過程,函數,觸發器。。。
其基本單元是塊。注釋用--
變數命名:v_,即:v_sal(oracle喜歡下線 )
declare
/*定義部分--定義變數,遊標,例外,,無變數可不寫*/
dbms_output是oracle所提供的包(如同java包)
put_line就是dgms_
begin
dbms_output.put_line('輸出一句話');
預設不輸出,要開啟的一個
set serveroutput on;
declare與exception可以不寫,並非必須。
4.包含定義部分和執行部分的pl/sq塊
delare
--定義變數,先寫名,再寫其類型
v_ename varchar2(8);
begin
select ename into v_ename from emp ename=&ename;--彈出一個框框,來輸入
dbms_output.pu_line('僱員名是:'||v_ename);
--||是字串串連
end;
將上塊改為過程:
create procedure pro3(in_empno number)
is
delare
--定義變數,先寫名,再寫其類型
v_ename varchar2(8);
begin
select ename into v_ename from emp ename=in_empno;--彈出一個框框,來輸入
dbms_output.pu_line('僱員名是:'||v_ename);
--||是字串串連
end;
/
調用一下:exec pro3(8877);