-------------------------------------------------------------------------------------------------------
connect to @DBNAME@;
set current schema = '@SCHEMANAME@';
--Create
UPDATE CORAUDIT as a
set a.CORAUDITTYPEKY=
(select b.CORAUDITTYPEKY FROM CORAUDITtype b
where b.APPCOMPONENTENUM = 'BNKCmpChkSrvs'
and b.AUDITFUNCTIONENUM='BNKAFnPSPReq'
and b.AUDITACTORTYPEENUM = 'CORAuAcTOBOUs'
and b.ARCCHANNELKY='9')
where a.CORAUDITTYPEKY=
(select c.CORAUDITTYPEKY FROM CORAUDITtype c
where c.APPCOMPONENTENUM = 'BNKCmpSlfSrvs'
and c.AUDITFUNCTIONENUM='BNKAFnPSPReq'
and c.AUDITACTORTYPEENUM = 'CORAuAcTOBOUs'
and c.ARCCHANNELKY='9');
COMMIT;
CONNECT RESET;
-------------------------------------------------------------------------------------------------------
上面这个脚本是用来更新DB2数据的,由于9这个值是硬编码,所以要求定义变量,然后赋值9,在SQL语句中使用变量执行,ORACLE我会,但是DB2没用过,求指点。
要求在脚本头定义一个变量,然后赋值9,然后SQL中使用,该如何写?
谢谢你得回复,能具体点吗,你这句的意思是变量的声明和赋值在DB2中是一起的吗?
那比如我声明个字符串的是不是这样“v_count varchar(20):=9 ”,然后底下调用是不是这样“select c.CORAUDITTYPEKY FROM CORAUDITtype c
where c.APPCOMPONENTENUM = 'BNKCmpSlfSrvs'
and c.AUDITFUNCTIONENUM='BNKAFnPSPReq'
and c.AUDITACTORTYPEENUM = 'CORAuAcTOBOUs'
and c.ARCCHANNELKY=v_count ”
DECLARE V_COUNT VARCHAR(3000);--定义
SET V_COUNT='9'--赋值
select * from CORAUDITtype where ARCCHANNELKY=V_COUNT ;--使用