ITPub博客

首页 > Linux操作系统 > Linux操作系统 > db2 - case 语句测试

db2 - case 语句测试

原创 Linux操作系统 作者:yuechaotian 时间:2019-02-28 20:57:07 0 删除 编辑
db2里的case语句,与Oracle里的用法是一样的。
 
C:\Documents and Settings\Administrator>db2 -td@ -vf D:\yidong\everyone\yuechaotian\test_sales_status.sql
DROP PROCEDURE miaomiao.sales_status
DB20000I  SQL命令成功完成。
 
CREATE PROCEDURE miaomiao.sales_status(IN quota INTEGER, OUT sql_code INTEGER, OUT sql_state CHAR(5))
        --DYNAMIC RESULT SETS 1
        LANGUAGE SQL
BEGIN
        DECLARE SQLCODE INTEGER;
        DECLARE sqlstate CHAR(5);
 
        DECLARE vv_sigle VARCHAR(10);
        SET vv_sigle='a';
        CASE vv_sigle
                WHEN 'b' THEN
                        INSERT INTO miaomiao.test1(b) VALUES('bb');
                WHEN 'a' THEN
                        INSERT INTO miaomiao.test1(b) VALUES('aa');
        END CASE;
        COMMIT;
        SET sql_state = sqlstate;
        SET sql_code= SQLCODE;
END
DB20000I  SQL命令成功完成。
 
C:\Documents and Settings\Administrator>db2 call miaomiao.sales_status(1,?,?)
 
  输出参数的值
  --------------------------
  参数名: SQL_CODE
  参数值: 0
 
  参数名: SQL_STATE
  参数值: 00000
 
  返回状态 = 0
 
C:\Documents and Settings\Administrator>db2 select * from miaomiao.test1
 
A B          C
- ---------- -----------
x y                  130
u v                  100
u v                  100
u v                  100
f -                  100
- aa                   -
 
  6 条记录已选择。
 

C:\Documents and Settings\Administrator>
 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/298599/viewspace-666856/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 培训外传
请登录后发表评论 登录
全部评论

注册时间:2005-03-28

  • 博文量
    27
  • 访问量
    40238