我的数据库的 oracle 游标语法有什么问题?
what is wrong with the syntax of cursor in oracle for my database?
SQL> CREATE TABLE DOCTOR (
2 DID INT PRIMARY KEY NOT NULL,
3 DNAME VARCHAR (15) NOT NULL,
4 QUALIFICATION VARCHAR(15)
5 );
Table created.
SQL> CURSOR C_DOCTOR IS SELECT DID,DNAME,QUALIFICATION FROM DOCTOR;
SP2-0734: unknown command beginning "CURSOR C_D..." - rest of line ignored.
我一直在遵循显式游标的语法,但我仍然收到此错误。你能帮帮我吗?
游标必须位于 PL/SQL 块内,无论是匿名块还是命名块(例如存储过程、函数或包)。您不能单独声明游标。
Cursor 不想在 space 中独处,它需要一些 PL/SQL 环境。那将是一个 PL/SQL 块,它的 DECLARE
部分。最简单的方法是
SQL> CREATE TABLE DOCTOR (
2 DID INT PRIMARY KEY NOT NULL,
3 DNAME VARCHAR (15) NOT NULL,
4 QUALIFICATION VARCHAR(15)
5 );
Table created.
SQL> declare
2 CURSOR C_DOCTOR IS SELECT DID,DNAME,QUALIFICATION FROM DOCTOR; --> this is your line
3 begin
4 null;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL>
是的,非常无用,但是 - 它可以编译。
SQL> CREATE TABLE DOCTOR (
2 DID INT PRIMARY KEY NOT NULL,
3 DNAME VARCHAR (15) NOT NULL,
4 QUALIFICATION VARCHAR(15)
5 );
Table created.
SQL> CURSOR C_DOCTOR IS SELECT DID,DNAME,QUALIFICATION FROM DOCTOR;
SP2-0734: unknown command beginning "CURSOR C_D..." - rest of line ignored.
我一直在遵循显式游标的语法,但我仍然收到此错误。你能帮帮我吗?
游标必须位于 PL/SQL 块内,无论是匿名块还是命名块(例如存储过程、函数或包)。您不能单独声明游标。
Cursor 不想在 space 中独处,它需要一些 PL/SQL 环境。那将是一个 PL/SQL 块,它的 DECLARE
部分。最简单的方法是
SQL> CREATE TABLE DOCTOR (
2 DID INT PRIMARY KEY NOT NULL,
3 DNAME VARCHAR (15) NOT NULL,
4 QUALIFICATION VARCHAR(15)
5 );
Table created.
SQL> declare
2 CURSOR C_DOCTOR IS SELECT DID,DNAME,QUALIFICATION FROM DOCTOR; --> this is your line
3 begin
4 null;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL>
是的,非常无用,但是 - 它可以编译。