日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

PL/SQL 存储过程

發布時間:2025/3/15 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PL/SQL 存储过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
PL/SQL復習九 存儲過程

?

無參數的存儲過程:

create or replace procedure out_time

is

begin

??dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd'));

end;

/

調用: exe

PL/SQL復習九 存儲過程

?

無參數的存儲過程:

create or replace procedure out_time

is

begin

??dbms_output.put_line(to_char(sysdate,'yyyy-mm-dd'));

end;

/

調用: exec out_time;

--------------------------------------------------------------

帶有in參數的過程:

create or replace procedure add_employee

(

??eno in number,

??name in varchar2,--注意,定義參數的時候不能指定大小

??sal in number

)

is

begin

??insert into emp(empno,ename,sal) values(eno,name,sal);

end;

/

調用:exec add_employee(5569,'lixin',5589);

--------------------------------------------------------------

帶有out 參數的過程:

create or replace procedure query_employee

(

??eno in number,

??name out varchar2,

??salary out number

)

is

begin

??select ename, sal into name, salary from emp where empno = eno;

end;

/

調用:

SQL> var name varchar2(20);

SQL> var salary number;

SQL> exec query_employee(7788,:name,:salary);

?

PL/SQL procedure successfully completed

name

---------

SCOTT

salary

---------

3000

--------------------------------------------------------------

?

帶有in out參數的過程:

create or replace procedure pro_in_out

(

??num1 in out number,

??num2 in out number

)

is?

??v1 number;

??v2 number;

begin

??v1 := num1 / num2;

??v2 := mod(num1,num2);

??num1 := v1;

??num2 := v2;

end;

/

調用:

SQL> var n1 number;

SQL> var n2 number;

SQL> exec :n1 := 100;

SQL> exec :n2 := 30;

SQL> exec pro_in_out(:n1, :n2); --不能直接傳值,必須傳變量,因為是in out類型參數

?

PL/SQL procedure successfully completed

n1

---------

3.33333333333333

n2

---------

10

?

傳遞參數時可以根據位置傳遞,也可以根據名稱傳遞:

exec add_employee(123,name=>'lixin',sal=>88564);

?

查看過程源碼:

select text from user_source where name = 'ADD_EMPLOYEE';

?

刪除過程:

drop procedure add_employee;

原文出處:http://zhidao.kaifajie.cn/article/34575.html

總結

以上是生活随笔為你收集整理的PL/SQL 存储过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。