Listen Software解决方案 “How To” 系列2:存储过程

Listen Software解决方案 “How To” 系列2:存储过程

 

      参照:

           参照定义和使用游标

           参照定义和使用函数

     

      存储过程

             CREATE OR REPLACE PROCEDURE {procedure name} 
   
   
( {argument} IN {datatype} ) IS v_variable {datatype}; 
   
   
--变量类型   
   
   
        VARCHAR(X);
   
   
        VARCHAR2(X);
   
   
        VARCHAR2;
   
   
        CHAR(X);
   
   
        NUMBER(P,S);   
   
   
--P-数字的位数
   
   
        --S-数字的精度   
   
   
        NUMBER(X);
   
   
        NUMBER;
   
   
        LONG;          
   
   
        --容纳32,760字节数据
  
  
        DOUBLE PRECISION;
   
   
        FLOAT;
   
   
        INT;
   
   
        REAL;
   
   

   
   
        DATE;
   
   
        RAW(X) 
   
   
        --容纳32,760字节数据
  
  
        LONG RAW; 
   
   
        --容纳32,760字节数据
  
  
        --注意数据库类型为LONG RAW 
  
  
        --容纳20亿字节数据
  
  
        RECORD;
   
   
        TABLE;
   
   
        VARRAY;
   
   
        LOB;
   
   
        CLOB;
   
   
         v_variable_c1  VARCHAR2(20);            
   
   
        --创建20个字符长的变量
   
   
         v_variable_c2  CHAR(10);               
   
   
        --创建固定长度为10个字符的变量 
  
  
        - 最大长度255 
  
  
        v_variable_c3  VARCHAR2;               
   
   
        --变量长度不能超过2000个字符
  
  
        v_variable_n1  table_name.field_name%TYPE; 
   
   
        --定义参照方案中表字段类型的变量类型    
   
   
        v_variable_n2  NUMBER;
   
   
        v_variable_n3  NUMBER := 3;
   
   
        v_variable_n4  NUMBER(10);
   
   
        v_variable_n5  NUMBER(10,2);
   
   
        v_variable_n6  LONG;
   
   
        v_variable_n7  FLOAT;
   
   
        v_variable_n8  REAL;
   
   
         TYPE t_my_record IS RECORD
   
   
        (
   
   
        v_variable1        VARCHAR2(8)
   
   
        ,v_variable2 NUMBER(10)
   
   
        ,v_variable3 DATE
   
   
        );
   
   
         my_record t_my_record;
   
   
         TYPE t_my_table is TABLE OF VARCHAR2(10)   
   
   
        --vb中的数据结构相似
  
  
         INDEX BY BINARY_INTEGER;
   
   
         my_table t_my_table;
   
   
 BEGIN 
   
   
        --这儿插入代码
  
  
         v_variable_c1 := 'Hello World';
   
   
        v_variable_n2 :=10;
   
   
         --条件逻辑
  
  
         IF v_variable_n2 = 1 THEN
   
   
                v_variable_c2 := 'Exact Match';
   
   
        ELSIF v_variable_n3 > 2 THEN
   
   
                v_variable_c2 := 'Greater Than Match';
   
   
        ELSE
   
   
                v_variable_c3 := 'None of the Above';
   
   
        END IF;
   
   
         my_record.v_variable1:='ABC';
   
   
        my_record.v_variable2:=3;
   
   
        my_record.v_variable3:=TO_DATE('11-JAN-1999','DD-MON-YYYY');
   
   
         my_table(1)='A';
   
   
         my_table(2)='B';
   
   
        /* v_variable_n2的值为10,因此第一个条件为false.
           v_variable_n3初始为3,因此条件为true, 
           v_variable_c2的值就为'Greater Than Match'
  
  
           循环 */
  
  
         v_variable_n2:=0;
   
   
        LOOP
   
   
                v_variable_n2:=v_variable_n2+1;
   
   
                EXIT WHEN v_variable_n2 > 10;
   
   
        END LOOP;
   
   
       v_variable_n2:=0;
   
   
      WHILE v_variable_n2<10 LOOP
   
   
                v_variable_n2:=v_variable_n2+1;
   
   
        END LOOP;
   
   
         FOR v_variable_n2 in 1..10 LOOP
   
   
         END LOOP;
   
   
 END {procedure name};
   
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值