pro*c有关问题求教
pro*c问题求教
对一张表进行批处理UPDATE。要求分BusiId和WorkId修改,而传过来的数据中有一个vSendnum=BusiId||WorkId,怎样对vSendnum拆开还能批处理?代码如下:
EXEC SQL BEGIN DECLARE SECTION;
varchar vMobile [100][21];
varchar vSendNum [100][21];
varchar vRecvDate [100][21];
varchar vSms [100][200];
varchar vIvrCallid [100][21];
int iUpdateCount;
EXEC SQL END DECLARE SECTION;
AString errmsg;
char cSms[10]; // 短信内容
char cMobile[20];
char cWorkId[7];
char cBusiId[15];
exec sql context use : ctx_10086;
exec sql
SELECT mobile, servicenum, to_char(recvtime, 'yyyymmddhh24miss '), sms, id
INTO :vMobile, :vSendNum, :vRecvDate, :vSms, :vIvrCallid
FROM td_callcenter_smss_recv_done WHERE rownum <101;
。。。。。。。。。。。。。。。。。。。。。。。
iUpdateCount = iRecordCount;
exec sql context use : ctx_cskf;
exec sql for :iUpdateCount
UPDATE td_rv_smssend_his SET Replay=:vSms, RetTime=:vRecvDate
WHERE SendFlag = 1 and replay is null and serialnumber=:vMobile
and creatdate > to_char(sysdate-1, 'yyyymmdd ') and BUSIID = ? and WorkId=?;
??这里该怎么弄,怎么把 vSendNum处理拆分
------解决方案--------------------
and creatdate > to_char(sysdate-1, 'yyyymmdd ') and BUSIID||WorkId=vSendnum;
对一张表进行批处理UPDATE。要求分BusiId和WorkId修改,而传过来的数据中有一个vSendnum=BusiId||WorkId,怎样对vSendnum拆开还能批处理?代码如下:
EXEC SQL BEGIN DECLARE SECTION;
varchar vMobile [100][21];
varchar vSendNum [100][21];
varchar vRecvDate [100][21];
varchar vSms [100][200];
varchar vIvrCallid [100][21];
int iUpdateCount;
EXEC SQL END DECLARE SECTION;
AString errmsg;
char cSms[10]; // 短信内容
char cMobile[20];
char cWorkId[7];
char cBusiId[15];
exec sql context use : ctx_10086;
exec sql
SELECT mobile, servicenum, to_char(recvtime, 'yyyymmddhh24miss '), sms, id
INTO :vMobile, :vSendNum, :vRecvDate, :vSms, :vIvrCallid
FROM td_callcenter_smss_recv_done WHERE rownum <101;
。。。。。。。。。。。。。。。。。。。。。。。
iUpdateCount = iRecordCount;
exec sql context use : ctx_cskf;
exec sql for :iUpdateCount
UPDATE td_rv_smssend_his SET Replay=:vSms, RetTime=:vRecvDate
WHERE SendFlag = 1 and replay is null and serialnumber=:vMobile
and creatdate > to_char(sysdate-1, 'yyyymmdd ') and BUSIID = ? and WorkId=?;
??这里该怎么弄,怎么把 vSendNum处理拆分
------解决方案--------------------
and creatdate > to_char(sysdate-1, 'yyyymmdd ') and BUSIID||WorkId=vSendnum;