Oracle帶引數的儲存過程

2021-08-11 03:54:05 字數 1493 閱讀 6169

一 需求

為指定的員工,漲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...