Username: Password:

Listen Software解决方案 “How To” 系列2:存储过程-数据库专栏,SQL Server
来源:作者: 发布时间:2007-12-26 01:58:57


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};

喜欢本文,那就收藏到:

    Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
相关评论  我也要评论
还没有关于此文章的相关评论!
  • 昵称: (为空则显示guest)
  • 评论分数: ★ ★ ★★★ ★★★★ ★★★★★
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
  • 导航
    赞助商
    文章类别
    订阅