Oracle 学习记录

SQL> --创建一个过程块
SQL> CREATE OR REPLACE PROCEDURE hello_procedure
  2  ( pv_whom VARCHAR2 ) IS
  3  BEGIN
  4   dbms_output.put_line('Hello ' || pv_whom || '.');
  5  END;
  6  /
过程已创建。
SQL> --调用这个过程
SQL> EXECUTE hello_procedure('Sam');
Hello Sam.                                                                     
PL/SQL 过程已成功完成。
SQL> --等价的方法是在匿名块的执行块中 封闭调用
SQL> BEGIN
  2   hello_procedure('Sam');
  3  END;
  4  /
Hello Sam.                                                                     
PL/SQL 过程已成功完成。
SQL> -- 函数块
SQL> CREATE OR REPLACE FUNCTION hello_function
  2  ( pv_whom VARCHAR2 ) RETURN VARCHAR2 IS
  3  BEGIN
  4   RETURN 'Hello ' || pv_whom || '.';
  5  END;
  6  /
函数已创建。
SQL> -- 定义一个会话级绑定变量 并且调用一个函数到该绑定变量中
SQL> VARIABLE result VARCHAR2(20)
SQL> CALL hello_function('Samabtha') INTO :result;
调用完成。
SQL> -- 打印出局部变量的内容
SQL> PRINT :result
RESULT                                                                         
--------------------------------------------------------------------------------
Hello Samabtha.                                                                
SQL> SELECT :result FROM dual;
:RESULT                                                                        
--------------------------------------------------------------------------------
Hello Samabtha.                                                                
SQL> -- 上面将查询绑定 变量;
SQL>
SQL>
SQL>
SQL> -- 嵌套块
SQL> DECLARE
  2   PROCEDURE a;
  3   FUNCTION b RETURN VARCHAR2;
  4   PROCEDURE a IS
  5   BEGIN
  6    dbms_output.put_line(b||' World!');
  7   END a;
  8   FUNCTION b RETURN VARCHAR2 IS
  9   BEGIN
 10    RETURN 'Hello';
 11   END B;
 12  BEGIN
 13   a;
 14  END;
 15  /
Hello World!                                                                   
PL/SQL 过程已成功完成。
SQL>
SQL>
SQL>
SQL> -- 打印程序空间分配大小
SQL>
SQL>
SQL> DECLARE
  2   lv_fixed CHAR(40) := 'Something not quite long.';
  3   lv_variable VARCHAR(40) := 'Something not quite long.';
  4   lv_clob CLOB := 'Something not quite long.';
  5  BEGIN
  6   dbms_output.put_line('Fixed Length [' || LENGTH(lv_fixed)||']');
  7   dbms_output.put_line('Varying Length [' || LENGTH(lv_variable)||']');
  8   dbms_output.put_line('CLOB Length [' || LENGTH(lv_clob)||']');
  9  END;
 10  /
Fixed Length [40]                                                              
Varying Length [25]                                                            
CLOB Length [25]                                                               
PL/SQL 过程已成功完成。
SQL>


本文出自 “某人说我技术宅” 博客,请务必保留此出处http://1992mrwang.blog.51cto.com/3265935/1216911

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值