zoukankan      html  css  js  c++  java
  • DB2存储过程简单示例

    在这个示例中,我们将在DB2中创建一个名为DEMO1201的存储过程。
    该存储过程的输入参数IN_NAME和IN_CREDITCARD,表示用户的姓名和身份证号。
    该存储过程的作用是根据身份证号来新建用户或者更改用户信息,代码如下:

    CREATE OR REPLACE PROCEDURE DEMO1201 (
      IN IN_NAME VARCHAR(50),
      IN IN_CREDITCARD CHARACTER(18)
    )
    BEGIN
      DECLARE V_RESULT VARCHAR(50) DEFAULT NULL;
      SELECT NAME INTO V_RESULT FROM USERS WHERE CREDITCARD=IN_CREDITCARD;
      IF (V_RESULT IS NOT NULL) THEN
        UPDATE USERS SET NAME=IN_NAME WHERE CREDITCARD=IN_CREDITCARD;
      ELSE
        INSERT INTO USERS VALUES(IN_NAME,IN_CREDITCARD);
      END IF;
    END
    

    创建完该存储过程后,我们来新建一个USERS表并调用存储过程:

    DROP TABLE USERS;
    CREATE TABLE USERS (
      NAME VARCHAR(50),
      CREDITCARD CHARACTER(18)
    );
    INSERT INTO USERS VALUES ('刘德华','123456789123456789');
    INSERT INTO USERS VALUES ('周杰伦','123456789987654321');
    
    CALL DEMO1201('周星驰','123456789987654321');
    

    我们新建了两个用户,并调用了存储过程DEMO1201,此时我们执行SELECT操作:

    SELECT * FROM USERS;
    

    结果如下:

    NAME                                               CREDITCARD         
    -------------------------------------------------- ------------------ 
    刘德华                                             123456789123456789 
    周星驰                                             123456789987654321 
    

    可以看到,CREDITCARD为“123456789987654321”的用户的姓名已经变更成了“周星驰”。

  • 相关阅读:
    算法,折半查找--javascript版
    选择排序---堆排序算法(Javascript版) 降序排列
    常用的js正则总结
    前端工作流,集成解决方案,国内值得研究的
    gulp构建项目踩坑实战
    svg图片自适应div容器大小
    coffeeScript学习小结
    javascript正则匹配中文
    android开发中R文件丢失
    MySql 5.7密码查看或修改
  • 原文地址:https://www.cnblogs.com/zifeiy/p/9014250.html
Copyright © 2011-2022 走看看