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...