儲存過程2

2021-07-04 14:52:10 字數 2122 閱讀 7253

1.  建立三張表 dept10,dept20,dept30,表結構和 dept 一致(不拷貝資料)

create table dept10 as select * from dept where 1=2;

create table dept20 as select * from dept where 1=2;

create table dept30 as select * from dept where 1=2;

2.  編寫乙個儲存過程 mypro,

i.  把 dept 表中 depto=10 的資料,存到 dept10,

ii.  把 dept 表中 depto=20 的資料,存到 dept20

iii.  把 dept 表中 depto=30 的資料,存到 dept30

寫法1create or replace procedure myproc

asbegin

insert into dept10 select * from dept where deptno=10;

insert into dept20 select * from dept where deptno=20;

insert into dept30 select * from dept where deptno=30;

end;

寫法2備註 儲存過程中 if  。。。。。elsif   的寫法 

create or replace procedure myproc2

as   cursor mycur is  select * from dept;

deptinfo dept%rowtype;

begin

for deptinfo in mycur loop

if deptinfo.deptno =10 then   insert into dept10(deptno,dname,loc)

values (deptinfo.deptno,deptinfo.dname,deptinfo.loc);

elsif deptinfo.deptno =20 then   insert into dept20(deptno,dname,loc)

values (deptinfo.deptno,deptinfo.dname,deptinfo.loc);     

elsif deptinfo.deptno =30 then   insert into dept30(deptno,dname,loc)

values (deptinfo.deptno,deptinfo.dname,deptinfo.loc);

end if;

end loop;

end;

寫法3create or replace procedure myproc2 as

cursor mycur is   select * from dept;

deptinfo dept%rowtype;

begin

open mycur;

fetch mycur  into deptinfo;

while (mycur%found) loop

if deptinfo.deptno =10 then   insert into dept10(deptno,dname,loc)

values (deptinfo.deptno,deptinfo.dname,deptinfo.loc);

end if ;

if deptinfo.deptno ='20' then   insert into dept20(deptno,dname,loc)

values (deptinfo.deptno,deptinfo.dname,deptinfo.loc);

end if ;

if deptinfo.deptno ='30' then   insert into dept30(deptno,dname,loc)

values (deptinfo.deptno,deptinfo.dname,deptinfo.loc);

end if ;    

fetch mycur  into deptinfo;

end loop;

end;

-----select  *  from dept30

儲存過程 2

1,呼叫沒有引數的儲存過程 set conn server.createobject adodb.connection set cmd server.createobject adodb.command strconn dsn pubs uid sa pwd conn.open strconn se...

儲存過程2

今天老師又帶我們回顧了儲存過程方面的知識 1 我們之所以要學習儲存過程是因為使用儲存過程可以一次性執行成批的sql 語句,不僅節省了我們的時間而且也提高了伺服器的操作速度。2 儲存過程的優點 1 批處理,減少客戶和伺服器之間的交流次數 2 伺服器端執行,移植性好 3 安全要求高的行業 4 包含流程控...

儲存過程2

pl sql developer 1,入門 簡單例子 描述 儲存過程如何將一條新紀錄插入到資料庫表 該例可體現在填報錶用儲存過程方式完成更新 creat table test pro id varchar2null,name varchar2 null 儲存過程任務 將id為 zhangsan na...