Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 无法编译任何游标示例_Sql_Oracle - Fatal编程技术网

Sql 无法编译任何游标示例

Sql 无法编译任何游标示例,sql,oracle,Sql,Oracle,我试图使任何光标的例子工作,但只是不能使它发生。 IDE:oraclesql开发人员 数据库:10g sql oracle 我试过这三个例子,但编译得不好。有人能给我举个工作实例吗? 第一个: 编辑:工作!刚刚有“哪里” DECLARE CURSOR person_data_cur as SELECT * FROM personal_data WHERE where name='Karol'; BEGIN FOR person_dat

我试图使任何光标的例子工作,但只是不能使它发生。 IDE:oraclesql开发人员 数据库:10g sql oracle

我试过这三个例子,但编译得不好。有人能给我举个工作实例吗?
第一个: 编辑:工作!刚刚有“哪里”

DECLARE
   CURSOR person_data_cur
   as
      SELECT *
        FROM personal_data
       WHERE  where name='Karol';
BEGIN
   FOR person_data
   IN person_data_cur
   LOOP
      DBMS_OUTPUT.put_line (
         person_data.surname);
   END LOOP;
END;
这是:

DECLARE my_cursor1 CURSOR FOR
SELECT  name, surname
    FROM personal_data
    WHERE name='Karol';
^错误:

Error report -
ORA-06550: row 1, column 27:
PLS-00103: found symbol "FOR" when expected one of following:

   := . ( @ % ; not null range default character
06550. 00000 -  "line %s, column %s:\n%s"
*Cause:    Usually a PL/SQL compilation error.
*Action:
甚至这个: 编辑:这一行还可以,只是我的IDE忽略了前两行,并执行了其他行。。。但我想它没问题,因为它不在任何程序块内

CURSOR c1
IS
  SELECT course_number
  FROM courses_tbl
  WHERE course_name = name_in;

例如,第二个示例:您的语法不正确。 光标的伪代码为:

        Declare
             Cursor Cursor_name
             is
               select * from table where <Conditions>;
          Begin
            For cur_Rec in cursor_name
               Loop
                   <what you want to do>

               End Loop;
          End;

请参阅更多详细信息

哦,我真傻,我在第6行的位置示例1--->工作D但仍然不确定如何做其他2个示例如果您也发布了错误,这将更容易。您有3个游标声明-其中一个有效,两个无效。那么,检查一下其他两个的定义有什么不同呢?(提示:
用于
      CURSOR c1 (name_in VARCHAR2)
      IS
        SELECT course_number
        FROM courses_tbl
        WHERE course_name = name_in;