更新列不起作用

时间:2016-04-13 10:44:31

标签: sql plsql toad

我正在尝试在toad中执行以下查询。

UPDATE rd_catg_sync_tables
SET RCST_SYNC_COL2='Insert into ASM_ACE_SERVICE
(SERVICE_ID, SERVICE_NAME, SERVICE_DESC, SERVICE_LEVEL, SERVICE_CODE, SERVICE_CREATED_DATE, SERVICE_TYPE,        SERVICE_REF_TBL,ASM_SC_CATGID,ASM_SC_MODIFIED_BY)
Values
(?, '?', '?', ?, '?', TO_DATE('?', 'MM/DD/YYYY HH24:MI:SS'), '?',    '?','?','?');'
WHERE RCST_TABLE_NAME=ASM_ACE_SERVICE

但是当我运行它时会询问MI:SS的值。但它是我需要插入RCST_SYNC_COL2的数据的一部分。请有人帮我如何将这些数据插入该coloumn。

1 个答案:

答案 0 :(得分:1)

您需要额外报价。要在SQL中转义单引号,请在一行中使用两个单引号:

update rd_catg_sync_tables
    set RCST_SYNC_COL2 = '
Insert into ASM_ACE_SERVICE(SERVICE_ID, SERVICE_NAME, SERVICE_DESC, SERVICE_LEVEL, SERVICE_CODE, SERVICE_CREATED_DATE, SERVICE_TYPE, SERVICE_REF_TBL,ASM_SC_CATGID,ASM_SC_MODIFIED_BY)
    Values
(?, ''?'', ''?'', ?, ''?'', TO_DATE(''?'', ''MM/DD/YYYY HH24:MI:SS''), ''?'', ''?'',''?'',''?'');'
    where RCST_TABLE_NAME = 'ASM_ACE_SERVICE' 

我不知道你将如何执行子查询,但是占位符(?)周围的单引号和结尾处的分号可能是不必要的。