Oracle儲存過程Hello World示例

2021-10-06 19:55:13 字數 2679 閱讀 4795

在oracle資料庫中建立儲存過程(in,out,in out和cursor引數)的快速示例列表。 pl / sql**是不言自明的。

通過dbms_output列印出「 hello world」的儲存過程。

create or replace procedure procprinthelloworld

isbegin

dbms_output.put_line('hello world!');

end;

/

執行

exec procprinthelloworld;
輸出量

hello world!

儲存過程可以接受單個引數,並通過dbms_output輸出「 hello world in引數」 +引數值。

create or replace procedure proconeinparameter(param1 in varchar2)

isbegin

dbms_output.put_line('hello world in parameter ' || param1);

end;

/

執行

exec proconeinparameter('mkyong');
輸出量

hello world in parameter mkyong
用於將「 hello world out引數」值輸出/分配給out引數的儲存過程。

create or replace procedure proconeoutparameter(outparam1 out varchar2)

isbegin

outparam1 := 'hello world out parameter';

end;

/

執行

declare

outparam1 varchar2(100);

begin

proconeoutparameter(outparam1);

dbms_output.put_line(outparam1);

end;

/

輸出量

hello world out parameter
儲存過程接受inout引數(genericparam),構造輸出訊息並再次分配回相同的引數名稱(genericparam)。

create or replace procedure proconeinoutparameter(genericparam in out varchar2)

isbegin

genericparam := 'hello world inout parameter ' || genericparam;

end;

/

執行

declare

genericparam varchar2(100) := 'mkyong';

begin

proconeinoutparameter(genericparam);

dbms_output.put_line(genericparam);

end;

/

輸出量

hello world inout parameter mkyong
儲存過程,返回ref游標並接受in引數。

create or replace procedure proccursorexample(

cursorparam out sys_refcursor, usernameparam in varchar2)

isbegin

open cursorparam for

select * from dbuser where username = usernameparam;

end;

/

執行

declare 

dbusercursor sys_refcursor;

dbusertable dbuser%rowtype;

begin

proccursorexample(dbusercursor,'mkyong');

loop

fetch dbusercursor into dbusertable;

exit when dbusercursor%notfound;

dbms_output.put_line(dbusertable.user_id);

end loop;

close dbusercursor;

end;

/

輸出量

list of the user_id which matched username='mkyong'

標記: 你好世界

oracle

儲存過程

翻譯自:

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...

ORACLE儲存過程

自定義函式開始 create or replace function fn wftemplateidget templatecategoryid number,organid number,templatemode number return number istemplateid number i...

Oracle 儲存過程

create or replace procedure p 有就替換,沒有就建立 iscursor c is select from emp for update begin for v emp in c loop if v emp.deptno 10 then update emp2 set sa...