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博客 ” ,链接:http://blog.itpub.net/298599/viewspace-666856/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/298599/viewspace-666856/