一 需求
為指定的員工,漲100塊錢的工資;並且列印漲前和漲後的薪水。
二 **
--帶引數儲存過程:給指定的員工漲
100,並且列印漲前和漲後的薪水
/*
如何呼叫:
begin
raisesalay(7839);
raisesalay(7566);
commit;
end;
/
*/
create
orreplace procedure raisesalay
(eno
innumber
)
as
--定義乙個變數儲存漲前的薪水
psal emp
.sal
%type
;
begin
select
sal
into
psal
from
emp
where
empno
=eno
;
update emp
setsal
=sal
+100
where
empno
=eno
;
--需不需要
commit
?
--注意:一般不在儲存過程或儲存函式中提交和回滾,由呼叫者來進行提交或回滾
dbms_output
.put_line
('漲前:'
||psal
||'漲後:'
||(psal
+100
));
end
;
/
三 呼叫儲存過程
sql> begin
2 raisesalay(7839);
3 raisesalay(7566);
4 commit;
5 end;
6 /
漲前:10000漲後:10100
漲前:6975漲後:7075
pl/sql 過程已成功完成。
oracle儲存過程 帶引數的儲存過程
帶引數的儲存過程 舉例 為指定的員工漲100元的工資,列印漲前和漲後的工資 如果帶參,需要指定是輸入引數還是輸出引數 create orreplace procedure raisesalary eno in number as 定義乙個變數儲存漲前的薪水,引用emp中sal的型別作為psal的型別...
Oracle 帶引數的儲存過程
1 建立儲存過程 create procedure updatedemo ageparam in number asbegin update demo set age ageparam commit end 2 傳參執行 begin updatedemo 20 end 3 為儲存過程設定引數的預設值...
儲存過程帶in引數
set ansi nulls on set quoted identifier on goalter procedure dbo testlist userid nvarchar 4000 asdeclare search array nvarchar 100 begin set search ar...