问题标签 [execute-immediate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7903 浏览

oracle - 获取 ORA-01747:使用动态插入插入数据时,Oracle 中的 user.table.column、table.column 或列规范无效

这是代码。

上述两个参数都将在过程调用期间传入。


我的存储过程如下:

输入参数是 p_id(这是一个数值),p_mc 实际上是一个列名。样本数据是 p_id = 6372325,p_mc 可以是 MC1、MC2 到 MC14。

0 投票
3 回答
1383 浏览

oracle - 您可以从立即执行语句中退出 PL-SQL 循环吗?

我有以下片段(简化以排除无关的细节):

当我运行它时,它失败并出现PLS-00201: identifier 'CURSOR_LOOP' must be declared错误。

如果我将循环标签留在立即执行之外,我会得到PLS-00376: illegal EXIT/CONTINUE statement; it must appear inside a loop.

显然后者是错误的,但尚不清楚为什么前者是错误的。

可以从立即执行中的语句中退出此循环吗?

0 投票
3 回答
4925 浏览

oracle - 如何在 Oracle 中存储和填充 Execute Immediate 返回的数据?

在我的项目中,我正在尝试执行以下查询:

查询导致数据类型不一致的错误,除了这个错误之外,问题是我们可以像在 MS-SQL 中一样将结果存储到临时表中吗?我是 Oracle 数据库的新手。我需要临时表来存储 1 到 20 之间的记录,我将使用 Row_Number() 并在我的项目中相应地修改查询。

0 投票
2 回答
2712 浏览

stored-procedures - 立即执行“创建或替换视图”给出 00900。00000 - “无效 SQL 语句”错误

我一直被这个错误困扰。您能否提出以下代码中的错误?这是写在一个接受变量输入的过程中。谢谢。

更新:以下是我看到的错误。

0 投票
1 回答
1347 浏览

sql - 提示用户在 oracle 中输入

如何使用 SQLTools v1.6 提示用户在 oracle 中输入?我尝试了以下 PL/SQL 块:

它在编译时提示用户输入。但是,该值不能在 select 语句中使用。有没有其他方法可以实现我所寻求的。

该表包含 852269 条记录,其中单个 memID 具有多行(我在这里提供了几行):

0 投票
2 回答
65 浏览

oracle - 如何处理包含需要执行的 SQL 语句字符串的表列?

我需要构建一个 PL/SQL 过程,该过程从源表中获取数据并将其插入到目标表中。源表具有一ITEM1列、一ITEM2列和一SRC_CODE列。该SRC_CODE列包含一个作为 SQL 选择语句的字符串,即SELECT KEY FROM SOMETABLE WHERE DAY = V_DAY. 因此,我需要以某种方式执行列中的语句并在 select 语句中SRC_CODE填充该变量。V_DAY结果KEY值以及ITEM1ITEM2表中的值将进入TARGET表中。

从逻辑上接近这个过程,我认为我需要从源表中取出一行,执行SRC_CODE到一个集合中,然后KEY从集合中取出每个并将其绑定到ITEM1andITEM2和 insert KEY, ITEM, andITEM2到目标表中。我不知道如何在编程方面解决这个问题。

以下是我尝试至少用键值填充目标,但无济于事,因为我收到了无效的标识符错误。如果有人可以对此进行更正/扩展以获得我需要的东西,将不胜感激:

0 投票
1 回答
238 浏览

sql - 执行即时语句

execute immediate我正在尝试使用语句将数据插入表中。但我得到一个错误

任何人都可以看看有什么问题吗?

0 投票
1 回答
866 浏览

sql - 如何在立即执行中将表名添加到动态查询中?

我很困惑,因为我不知道如何在execute immediate子句中使用变量作为字符串。

variable1是一个表名。应该有一个字符串值。怎么做?还是报错。

0 投票
3 回答
1879 浏览

oracle - 如何解决 ORA-00933:SQL 命令未在 oracle 中正确结束?

这是通过将 3 个输入参数传递给函数创建的包

这是获取计数的查询

获取 ORA-00933: SQL 命令未在 oracle 中正确结束

这是包裹体

0 投票
3 回答
1277 浏览

oracle - 为什么这里需要立即执行?

我是 SQL Server 用户,我有一个使用 Oracle 的小项目要做,所以我试图了解 Oracle 的一些特殊性,我认为我需要一些帮助来更好地理解以下情况:

我想在创建临时表之前测试它是否存在,所以我在这里有这段代码:

它工作正常,所以在我执行一次之后,我在我的 IF 上添加了一条 else 语句:

再次执行它并在我的测试表中添加了一行。

好的,我的代码已经准备好并且可以工作了,所以我删除了临时表并尝试再次运行整个语句,但是当我这样做时,我收到以下错误:

然后我将我的 else 语句更改为此,现在它再次起作用:

我的问题是为什么单独运行我可以简单地使用插入而不是 EXECUTE IMMEDIATE 以及为什么我的 SELECT 语句在 BEGIN 之后仍然有效,而其他所有似乎都需要 EXECUTE IMMEDIATE 才能正常运行?