pl/sql笔记一:创建存储过程

DB: Oracle   Tool: SQL Developer.

 

创建存储过程 :

CREATE OR REPLACE PROCEDURE procedure_name ( param IN NUMBER, param2 IN VARCHAR2, retValue OUT NUMBER)  IS
-- declare variable to be used inside the SP --

v_variable_1 NUMBER;

v_variable_2 VARCHAR2;

...

-- execute sql statements , must start with BEGIN and end with END --

BEGIN

v_variable_2 :='www.google.com';

--sql statements ; --

  BEGIN

    SELECT SITE_ID INTO v_variable_1 FROM SITE WHERE UPPER(SITE_URL) =UPPER(v_variable_2);

    DBMS_OUTPUT.PUT_LINE('site id is :'|| v_variable);

  EXCEPTION

      WHEN NO DATA FOUND THEN

      v_variable_1 :=0 ;

   END;

--any other sql statements --

EXCEPTION

-- handle exceptions here --

 WHEN OTHERS THEN

 DBMS_OUTPUT.PUT_LINE('Error encountered:'||SQLERRM(SQLCODE));

 ROLLBACK;

END;

/

 

1. IN 表示传入参数, OUT表示SP执行后的返回值(如果需要SP带回一个返回值).

2.在存储过程的中需要的变量定义(声明)时不用Declare关键字,直接定义即可.

3. 执行sql语句必须以BEGIN开始,END结束. EXCEPTION部分表示异常处理.

4. 若上面的select into语句中没有查询到site_id ,则会产生no data found exception , 此时要有异常处理语句处理该异常,否则,SP将终止执行!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值