sql – 为什么使用EXECUTE IMMEDIATE运行此查询会导致它失败?
发布时间:2021-03-03 07:48 所属栏目:[编程] 来源:网络整理
导读:我正在编写一个需要动态生成一些查询的PL / SQL过程,其中一个过程涉及使用作为参数的查询结果创建临时表. CREATE OR REPLACE PROCEDURE sqlout(query IN VARCHAR2)ISBEGINEXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE tmp_tab AS (' || query || ');';E
我正在编写一个需要动态生成一些查询的PL / SQL过程,其中一个过程涉及使用作为参数的查询结果创建临时表. CREATE OR REPLACE PROCEDURE sqlout(query IN VARCHAR2) IS BEGIN EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE tmp_tab AS (' || query || ');'; END; 它编译正确,但即使是非常简单的查询,例如: BEGIN sqlout('SELECT * FROM DUAL'); END; IT抛出ORA-00911:无效字符.如果我手动运行创建的查询,它将正确运行.此时我能够确定导致问题的原因. 解决方法试着失去“;”从您执行立即的字符串内部.EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE tmp_tab AS (' || query || ')'; 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
网友评论
推荐文章
-
插入语句中C#应用程序中的MySql ODBC 5.1驱动程序的内存分配错误
我在C#中有一个.NET Wndows应用程序.这是一个使用MySq...[详细]
-
如何将ON DUPLICATE UPDATE与多值INSERT一起使用? IN...[详细]
-
我在Postgres中有一个多对多的连接表,我想索引到A)提...[详细]
-
sql-server – 如何在SQL Server数据库中设计用户/角色架构?
我想设计一个用户/角色系统: 用户具有名称和密码,然...[详细]
-
这是我的问题.例如,我有一个表包含一个字段的产品,名...[详细]
-
如下所示,我正在检查当前用户是否在table friend的use...[详细]
-
php – 不了解mysql语句DATE_ADD(NOW()INTERVAL)
我正在一个包含以下mysql行的页面上.总体目标只是将当...[详细]
-
我正在运行一个 python脚本,将大量数据插入到Postgres...[详细]
-
MySQL LIMIT / OFFSET:获取除第一个X之外的所有记录
我想查询50号及以上的所有记录.因此,我不想做LIMIT 49...[详细]
-
简单的网站访问量计数器实现,具体如下 首先说明 思路...[详细]
热点阅读