Oracle 起步日记(6)——存储过程

1、  创建无参数过程

 

CREATE OR REPLACE PROCEDURE output_time

IS

BEGIN

       DBMS_SESSION.SET_NLS(‘NLS_DATE_FORMAT’,’’’yyyy-mm-dd hh24:mi:ss’’’);

       DBMS_OUTPUT.PUT_LINE(SYSDATE);

END;

 

2、  创建带输入参数的过程

 

CREATE OR REPLACE PROCEDURE add_student(id student.id%TYPE ,name student.name%TYPE)

IS

BEGIN

       INSERT INTO student

       VALUES(id,name);

END;

 

只要在过程中插入数据的字段顺序是对的,参数的顺序并不要求与表中字段的顺序一致

 

3、  创建带有输入输出参数的过程

 

CREATE OR REPLACE PROCEDURE divide(num1 IN OUT NUMBER,num2 IN OUT NUMBER)

IS

       ver1 NUMBER;

       ver2 NUMBER;

BEGIN

       ver1 := TRUNC(num1/num2);

       ver2 := MOD(num1,num2);

       num1 := ver1;

       num2 := ver2;

END;

 

以下是调用并输出了过程后的数据

 

DECLARE

       n1 NUMBER := &n1;

       n2 NUMBER := &n2;

BEGIN

       divide(n1,n2);

       DBMS_OUTPUT.PUT_LINE('商:' || n1 || ',余数为' || n2);

END;

 

4、  维护过程

维护过程包括:删除、显示编译错误、编译过程、查看过程代码等

a)         ALTER PROCEDURE divide COMPILE;          ——重新编译过程

b)        SELECT TEXT FROM USER_SOURCE WHERE NAME = ‘DIVIDE’;           ——查询数据字典USER_SOURCE看源代码

c)        SHOW ERRORS;          ——查看过程中的错误

d)        DROP PROCEDURE divide;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值