Oracle 存储过程学习笔记(一)

用了两年Oracle还没写过存储过程,真是十分惭愧,从今天开始学习Oracle存储过程,完全零起点,争取每日一篇学习笔记,可能开始认识的不全面甚至有错误,但坚持下来一定会有收获。

1. 建立一个存储过程

         create or replace PROCEDURE firstPro

         IS

         BEGIN

         DBMS_OUTPUT.PUT_LINE('Hello World!');

         END;

其中IS关键字替换为AS关键字结果不会出现任何变化,大多认为他们是等同的,但也有一种说法解释为:一般PACKAGE 或者单独的FUNCTION, PROCEDURE 都用ASPACKAGE 中的FUNCTION, PROCEDURE IS

         DBMS_OUTPUT.PUT_LINE('Hello World!'); 是一个输出语句。

2. 执行存储过程

Oracle返回结果需要使用包,那么存储过程似乎只能在数据库中执行或被其他调用,编程语言似乎并不能直接调用存储过程返回数据,是否能执行他有待研究。那么首先在数库中执行上面的存储过程。

         BEGIN

         FirstPro()//注意有括号

         END;

       运行后输出Hello World

3. 下面写一个稍复杂的存储过程,他定义了变量,进行了运算,输出一个count操作所用的时间。

       CREATE OR REPLACE procedure testtime  

      is  

      n_start   number;  

      n_end   number; 

      samplenum number;

      use_time number;

      begin  

             n_start:=dbms_utility.get_time;  

             select count(*) into samplenum from emp; 

             n_end:=dbms_utility.get_time;  

             use_time:=   n_end   -   n_start;  

             dbms_output.put_line('This   statement   cost   '|| use_time ||'   miliseconds');  

      end;  

4. 下面试验下怎么能给存储过程赋值

       CREATE OR REPLACE procedure test(num in number) is

       begin

              dbms_output.put_line('The input numer is:' || num);

       end ;

       今天的就到这,明天将调用这个存储过程,并试验一写对表的操作。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值