上一篇介绍了前十条建议。
11.如果是单字符,如“’”如何组合拼接?
答:同样可以使用CHAR(),进行ASCii 转换
例如:DECLARE VC_CHAR CHAR(1);
DECLARE VC_TEMP CHAR(10);
SET VC_CHAR = CHAR(39); -- 39 IS ‘ ASCii
12.Db2如何创建约束?
答:语法如下:ALTER TABLE XHZQ.INFO_SKU_TAB
ADD CONSTRAINT XHZQ.CKC_C_DIANZICHENG_FLA_INFO_SKU
CHECK( C_DIANZICHENG_FLAG IN ( '0' , '1' , '2' ) ) ;
13.Db2下如何创建索引?
答:CREATE UNIQUE INDEX UNIQUE_NAME ON PROJECT (PROJNAME)
CREATE INDEX JOB_BY_DPT ON EMPLOYEE (WORKDEPT, JOB)
14.Sybase 中的全局变量@@rowcount,db2中如何使用?
答:db2中也有此全局变量,具体使用如下:
通过声明变量tempCount,使用语句
DECLARE TEMPCOUNT BIGINT DEFAULT = 0;
GET DIAGNOSTICS tempCount = ROW_COUNT;
获得,DB2下的ROW_COUNT等价于@@rowcount
15.DB2是如何管理事务的?
答:DB2中事务管理,也是支持自动事务管理和用户管理事务。
CREATE PROCEDURE XXX.PROC_NAME
( 。。。。。。。)
BEGIN AUTMIC --系统自动管理事务
END
BEGIN
如果系统自动管理事务,脚本中不允许出现COMMIT, ROLLBACK ,
使用这种方式,如果使用捆绑SQLCODE,SQLSTATE和游标,可以达到系统自动控制游标的功能。
IF (XX) THEN
COMMIT WORK HOLD;
ELSE
ROLLBACK WORK HOLD;
END IF;
END






