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之间也不能出现空代码。。。。这些书上都没讲到略蛋疼。

  • 相关阅读:
    何为大数据
    开启新征程
    碰撞检测系统
    利用卷积自编码器对图片进行降噪
    Tensorflow实现稀疏自动编码(SAE)
    Linux主机定期打补丁修复漏洞
    值得研究的学问
    TensorFlow 安装教程
    早上收到这样一份通知,求一无漏洞框架,无力吐槽
    如何修改WAMP中mysql默认空密码 以及修改时报错的处理方法
  • 原文地址:https://www.cnblogs.com/weisuoc/p/3251747.html
Copyright © 2011-2022 走看看