程序最后加上关闭游标(close cursor)

解决方案 »

  1.   

    我在过程里用的是FOR lr_voucher_tab IN curN END LOOP;语句,不须要OPEN CURSOR 更不用 CLOSE CURSOR 啊!
    这过程不是用一次就不行,行的时候可以无限次运行,都不会出错。
    过程中用到的两个表都是固定字段,不存在动态问题。CREATE TABLE "SALE_BANKCHECK" ("CHECK_NO" NUMBER(8,0) NOT NULL, "ACCOUNT_NO" VARCHAR2(20) NOT NULL, "BANK_DATE" DATE, "MONEY_DEBIT" NUMBER(10,2), "MONEY_CREDIT" NUMBER(10,2), "NOTE" VARCHAR2(100)) ;
    CREATE UNIQUE INDEX "SALE_BANKCHECK_X" ON "SALE_BANKCHECK" ("CHECK_NO" ) ;CREATE TABLE "SALE_VOUCHER" ("LINE_NO" NUMBER(8,0) DEFAULT 0 NOT NULL, "SALE_TYPE" VARCHAR2(2), "DEBIT_SUBJECT" VARCHAR2(3), "CREDIT_SUBJECT" VARCHAR2(3), "CUSTOMER_CODE" VARCHAR2(7), "ACCOUNT_NO" VARCHAR2(20), "MONEY" NUMBER(10,2) DEFAULT 0, "INVOICE_NO" VARCHAR2(10), "NOTES" VARCHAR2(60), "VOUCHER_DATE" DATE, "VOUCHER_NO" VARCHAR2(6), "TRANS_ID" VARCHAR2(1) DEFAULT 'N', "ACCESSORIES" NUMBER(2,0) DEFAULT 0, "CHECK_NO" NUMBER(8,0)) ;
    ALTER TABLE "SALE_VOUCHER" ADD ( CONSTRAINT SALE_VOUCHER_PK PRIMARY KEY ( "LINE_NO" )) ;
      

  2.   

    The catalog and catproc scripts were not run correctly. Do the following: 1) Log into Server Manager 2) Connect internal 3) Manually run "catalog.sql" and "catproc.sql". 
      

  3.   

    麻烦您介绍一下"catalog.sql" and "catproc.sql"两个文件有什么用?
      

  4.   

    Net8(High Water Mark):经过漫长执行后……(我不知到它在做什么),只看到一大堆
    View created.
    Grant succeeded.
    ……再执行我的过程,还是不行!!请各位高手用我的代码试试再说。
    我将把所有分(100或更多也行)给第一个能够解决的人!
    希望大家共同努力!
    等待您的好消息!!
      

  5.   

    分数并不是重要的,重要的是能够解决问题,大家共同提高。
    把你的配置详细写出来,让大家看看是否是bugs的问题。 
    类似的问题以前同事也遇到过,在每次startup数据库的时候编译一下存储过程
    就可以了,但是这种方式,不太可行,过一段时间就会又出现同样的错误,后来
    发现是低版本存在的一个bug...
      

  6.   

    to :moweihua(问题?=进步!) 
    catalog 和 catproc 执行完以后,在重新编译一下你的存储过程。
    试一下!
      

  7.   

    哈哈!问题解决了!
    Net8(High Water Mark):
    您能介绍一下"catalog.sql" and "catproc.sql"两个文件有什么用吗?好让大家分享一下嘛。
    等您答复喔。
      

  8.   

    Hi,脚本catalog.sql 和 catproc.sql 是创建数据库后必须要运行的两个脚本.catalog.sql :
    创建系统常用的数据字典视图和同义词,该脚本又同时运行创建其他对象的脚
    本,主要有: 
      基本PL/SQL环境,包括PL/SQL的声明: 
        - 数据类型 
        - 预定义例外 
        - 内建的过程和函数 
        - SQL操作等
        审计 
        导入/导出 
        SQL*Loader 
        安装选项catproc.sql :
    运行服务器端所需要的PL/SQL脚本,该脚本主要用于建立PL/SQL功能的使用
    环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下
    面的一些RDBMS功能创建另外的一些包和视图:
        警告(Alerts) 
        管道(Pipes)
        日志分析(LogMiner) 
        大对象(Large objects) 
        对象(Objects) 
        高级队列(Advanced queuing) 
        复制选项( Replication option) 
        其他的一些内建包和选项(Other built-ins and options) 
      

  9.   

    非常感谢Net8(High Water Mark)热情帮助,这次真是学到了不少东西,如果大家也遇到同样问题,不妨试一试。