我知道这个问题有很多答案,但老实说,我真的找不到任何问题,我不知道自己在做什么错。p>我试图通过选择和一些更改插入一些数据,但是每次我从关键字中找到此数据
我试图多次QoTE,但它也没有起作用,我知道我的选择"正常"起作用。
exec :='INSERT INTO TALEND_CONTEXT_GROUP (PROJECT_ID,CONTEXT_NAME,CONTEXT_TYPE,CONTEXT_DESC,ENV_ID,DATE_CREATION,USER_CREATION)
SELECT PROJECT_ID, CONTEXT_NAME, CONTEXT_TYPE, CONTEXT_DESC, '||New_Env_Id||', '||Current_Date||',USER_CREATION
FROM TALEND_CONTEXT_GROUP
WHERE PROJECT_ID = '||Project_Id||'';
EXECUTE IMMEDIATE(exec) ;
当然,这里有2个使用的变量正在工作,并且返回2个数字
我希望它只是在同一表中插入几乎相同的数据,除了更改ENV_ID
和DATE_CREATION
我认为您的数字之一中有一个,
- 更好地使用绑定然后constination:
EXECUTE IMMEDIATE 'INSERT INTO TALEND_CONTEXT_GROUP (PROJECT_ID,CONTEXT_NAME,CONTEXT_TYPE,CONTEXT_DESC,ENV_ID,DATE_CREATION,USER_CREATION)
SELECT PROJECT_ID, CONTEXT_NAME, CONTEXT_TYPE, CONTEXT_DESC, :New_Env_Id, :CURRENT_DATE,USER_CREATION
FROM TALEND_CONTEXT_GROUP
WHERE PROJECT_ID = :Project_Id' using New_Env_Id, CURRENT_DATE, Project_Id;
那么,为什么您甚至使用动态SQL?为什么不直接:
INSERT INTO TALEND_CONTEXT_GROUP (PROJECT_ID,CONTEXT_NAME,CONTEXT_TYPE,CONTEXT_DESC,ENV_ID,DATE_CREATION,USER_CREATION)
SELECT PROJECT_ID, CONTEXT_NAME, CONTEXT_TYPE, CONTEXT_DESC, New_Env_Id, CURRENT_DATE,USER_CREATION
FROM TALEND_CONTEXT_GROUP
WHERE PROJECT_ID = Project_Id;