DB2存储过程简单例子

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 21:47 点击:

 

    客户在进行短信服务这个业务申请时,需要填写一些基本信息,然后根据这些信息判断这个用户是否已经存在于业务系统中。因为网上服务和业务系统两个项目物理隔离,而且网上数据库保存的客户信息不全,所以判断需要把数据交换到业务系统,在业务系统中判断。

 

    解决方式是通过存储过程,以前也了解过存储过程,但没使用到项目中。不过经过一番努力最后还是完成了,期间遇到了一些困难,特写此文让对DB2存储过程还不熟悉的童鞋避免一些无谓的错误。

 

  

 

DROP PROCEDURE "PLName"@CREATE PROCEDURE "PLName"(--存储过程名字IN IN_ID BIGINT ,                    --以下全是输入参数IN IN_ENTNAME VARCHAR(200) ,IN IN_REGNO VARCHAR(50),IN IN_PASSWORD VARCHAR(20),IN IN_LEREP VARCHAR(300),IN IN_CERTYPE CHARACTER(1),IN IN_CERNO VARCHAR(50),IN IN_LINKMAN VARCHAR(50),IN IN_SEX CHARACTER(1),IN IN_MOBTEL VARCHAR(30),IN IN_REQDATE TIMESTAMP,IN IN_REMITEM VARCHAR(300),IN IN_STATE CHARACTER(1),IN IN_TIMESTAMP TIMESTAMP)BEGIN       declare V_RESULT  BIGINT;     --声明变量   DELETE FROM  TableNameA WHERE ID = IN_ID;   SET V_RESULT = NULL;          --为变量赋值  --检查用户输入的信息是否合法  select b.id INTO V_RESULT  from TableNameB b,TableNameC c where 正常的判断条件    if(V_RESULT IS NOT NULL)  then ---如果合法,执行下面的insert语句   INSERT INTO TableNameA(ID,ENTNAME,REGNO,PASSWORD,LEREP,CERTYPE,CERNO,LINKMAN,SEX,MOBTEL,REQDATE,REMITEM,STATE,TIMESTAMP)   VALUES(IN_ID,IN_ENTNAME,IN_REGNO,IN_PASSWORD,IN_LEREP,IN_CERTYPE,IN_CERNO,IN_LINKMAN,IN_SEX,IN_MOBTEL,IN_REQDATE,IN_REMITEM,IN_STATE,IN_TIMESTAMP);  end if;    commit;END@功能说明:

 

调用存储过程时会传入一些值(IN输入参数),然后根据传入的值查询数据库(select语句),根据查询结果执行操作(添加、删除、更新)

 

有两种方式执行写好的存储过程:

 

    1.拷贝到DB2客户端工具中直接执行

 

  特别注意:执行时将

 

\

 

 

改成@,之前很多错误都和它有关,比如:“该命令被当作SQL

语句来处理,因为它不是有效的命令行处理器命令”正是这个问题花费了很长时间,严重影响心情

 

    2.将上面的语句保存为test.db2文件放到任意目录下(比如D盘根目录),然后在cmd输入db2cmd 然后输入db2 -td@ -vf  D:\test.db2即可

 

 执行后就可以测试存储过程写的是否正确

 

 直接写sql:

 

call PLName(存储过程名字) (IN_ID,IN_ENTNAME,IN_REGNO,IN_PASSWORD,IN_LEREP,IN_CERTYPE,IN_CERNO,IN_LINKMAN,IN_SEX,IN_MOBTEL,IN_REQDATE,IN_REMITEM,IN_STATE,IN_TIMESTAMP对应的值)以上就是我今天所用到的存储过程,功能非常简单,比较复杂的操作也在摸索阶段,有什么疑问大家可以随时交流

 

摘自 己欲立而立人,己欲达而达人

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • db2管理工具小结
      • DB2数据库的导出与导入(Windows客户端)
      • db2 CLP中如何换行
      • DB2查看表结构及所用表语句
      • DB2 · CREATE TABLESPACE
      • 使用DB2对象:创建模式、表和视图
      • DB2数据库逻辑卷的复制
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1