zoukankan      html  css  js  c++  java
  • PL/SQL无参数过程的创建

    根据编程语言的惯性思维一般会这样写

    CREATE OR REPLACE PROCEDURE PRO_NAME()

    但很可惜编译不通过

    PLS-00103: Encountered the symbol ")" when expecting one of the following:

    <an identifier> <a double-quoted delimited-identifier>

    current delete exists prior 

    将其改成

    CREATE OR REPLACE PROCEDURE PRO_NAME

    去掉括号就OK了

    另外在PL/SQL中语句块之间如果没有代码的话也是会报错

    比如

    CREATE OR REPLACE PROCEDURE PRO_NAME
    IS
    BEGIN
    END PRO_NAME;

    在BEGIN 和END之间没有代码,通过语句

    SELECT * FROM USER_ERRORS WHERE NAME='PRO_NAME';

    可以查看到完整的错误信息如下

    NAME                           TYPE           SEQUENCE       LINE   POSITION TEXT                                                                             ATTRIBUTE MESSAGE_NUMBER
    ------------------------------ ------------ ---------- ---------- ---------- -------------------------------------------------------------------------------- --------- --------------
    PRO_NAME                       PROCEDURE             1          4          1 PLS-00103: Encountered the symbol "END" when expecting one of the following:     ERROR                103
                                                                                                                                                                            
                                                                                    ( begin case declare exit for goto if loop mod null pragma                              
                                                                                    raise return select update while with <an identifier>                                   
                                                                                    <a double-quoted delimited-identifier> <a bind variable> <<                             
                                                                                    continue close current delete fetch lock insert open rollback                           
                                                                                    savepoint set sql execute commit forall merge pipe purge                                
     
    

    另外在LOOP 和END LOOP之间也不能出现空代码。。。。这些书上都没讲到略蛋疼。

  • 相关阅读:
    应用JConsole学习Java GC
    删除MySQL重复数据
    Linux后台运行程序
    Jvm基础(2)-Java内存模型
    一个word合并项目的分布式架构设计
    Jvm基础(1)-Java运行时数据区
    【JPA】01 快速上手
    【Ubuntu】下载安装 20.04.版本 桌面端
    【Ubuntu】下载安装 12.04.5版本 桌面端
    【CentOS】tar包安装Tomcat
  • 原文地址:https://www.cnblogs.com/weisuoc/p/3251747.html
Copyright © 2011-2022 走看看