PL/SQL noob 语法错误

Posted

技术标签:

【中文标题】PL/SQL noob 语法错误【英文标题】:PL/SQL noob syntax Error [closed] 【发布时间】:2011-11-24 10:00:11 【问题描述】:

我对 PL/SQL 非常陌生(不,我的意思是一个真正的菜鸟,因为今天开始学习它)并且一直在尝试使用 TOAD IDE 的一些简单脚本,但对这个脚本有点卡住了。我只是尝试使用光标遍历一系列记录并显示每个记录,但不断收到以下错误:

ORA-06550: line 13, column 3:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:

; <an identifier> <a double-quoted delimited-identifier>
The symbol ";" was substituted for "end-of-file" to continue.

我的代码如下:

SET SERVEROUTPUT ON

DECLARE
    CURSOR cursor1 IS 
    SELECT TWOR_WORKS_ID
    FROM TMA_WORKS
    WHERE TWOR_ORG_REF = 9999;

BEGIN
    FOR records IN cursor1  
        LOOP
            dbms_output.put_line (records.TWOR_WORKS_ID);
        END LOOP;
END

有人可以指出我哪里出错了,因为我已经看到了一些示例,并且代码看起来与我正在尝试的相同。我猜它是失踪的;关闭错误消息但在哪里?

【问题讨论】:

Oracle 文档全面且在线。在这里找到 PL/SQL 参考:docs.oracle.com/cd/B28359_01/appdev.111/b28370/toc.htm 请学会使用它,而不是用琐碎的语法错误淹没 SO。 感谢您的链接。我不知道这个参考。 【参考方案1】:

您只需要在END 之后添加一个;

【讨论】:

谢谢。除此之外,我发现因为我将它作为脚本运行,所以我还需要在分号后添加 / 以使其执行块并显示我的输出,而不是编译它然后丢弃它。

以上是关于PL/SQL noob 语法错误的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL 游标:将计数提取为整数,语法错误?

Oracle PL/SQL:在 SAMPLE 子句中使用变量时出现语法错误

PL/SQL的基本语法

在 pl/sql 过程中出现错误以查找 topper 的名称

游标问题和语法 PLSQL

ORACLE APEX PL SQL 过程错误