oracle - ORA-00923 FROM 关键字未指定
问题描述
我知道这个问题有很多答案,但老实说,我真的找不到任何解决我的问题的方法,而且我真的看不出我做错了什么。
我正在尝试通过选择和一些更改插入一些数据,但每次我得到这个 FROM 关键字时都找不到例外
我尝试以不同的方式多次引用它,但效果不佳,我知道我选择的“正常”工作。
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
解决方案
我认为你有一个,
数字 - 最好使用绑定然后连接:
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;
推荐阅读
- javascript - javascript/typescript 将外部链接图像保存在 PDF 文件中
- c# - C# WPF - 剪切然后复制整个 Excel 行
- node.js - 如果其他情况下的NodeJS错误-发送后无法设置标头
- java - 使用 Lambda 自动执行匿名函数来自动生成代码
- ios - 如何将在 UITextField 内的任何语言环境中输入的数字转换为 iOS Swift 中的英文数字
- python - 为什么 log(xy) = log(x) + log(y) 在 SymPy 中不起作用?
- linux - 替换字符串中的值
- dart - 飞镖:封闭研究
- java - 在较新版本的 docx4j 中出现损坏问题。我目前正在运行 3.3.6
- reactjs - 酶高阶成分类型无效