我使用Oracle数据库,我想从表中找出包含“insert into”的句子 T_CARDNO_SETUP使用以下内容:
select 'INSERT INTO T_CARDNO_SETUP
(CARDTYPE, CARDNOTYPE, BEGINCARDNO, ENDCARDNO, CARDBIN, ORGANID, ORGANNAME, CARDBIE, STATUS)
VALUES(' || '''' || CARDTYPE ||'''' || ','|| '''' || CARDNOTYPE || '''' || ','|| '''' || BEGINCARDNO || '''' || ','|| '''' || ENDCARDNO || '''' || ','|| '''' || CARDBIN || '''' || ','|| '''' || ORGANID || '''' || ','|| '''' || ORGANNAME || '''' || ','|| '''' || CARDBIE || '''' || ','|| '''' || STATUS || '''' ||');'
From T_CARDNO_SETUP;
问题是有一个提交ENDCARDNO是一种NUMBER,而我使用上面的句子并得到提交的ENDCARDNO变成BLOB类,报告错误。 我该如何解决这个问题?
答案 0 :(得分:0)
我假设您正在生成INSERT
个语句。对于NUMBER
列,您可以忽略附加单引号,因此它们始终被视为NUMBER
。
select 'INSERT INTO T_CARDNO_SETUP
(CARDTYPE, CARDNOTYPE, BEGINCARDNO, ENDCARDNO, CARDBIN, ORGANID, ORGANNAME, CARDBIE, STATUS)
VALUES(' || '''' || CARDTYPE || '''' || ','||
'''' || CARDNOTYPE || '''' || ','||
'''' || BEGINCARDNO || '''' || ','||
/* '''' || ENDCARDNO || '''' || ','|| */
ENDCARDNO || ',' ||
'''' || CARDBIN || '''' || ','||
'''' || ORGANID || '''' || ','||
'''' || ORGANNAME || '''' || ','||
'''' || CARDBIE || '''' || ','||
'''' || STATUS || '''' ||');'
From T_CARDNO_SETUP;