zoukankan      html  css  js  c++  java
  • oracle 创建包体的一些问题

    1、

    PLS-00201:必须声明标识符'A1'

    PLS-00304: 如果没有说明, 则无法编译'A1'主体

    解决办法:

    用sysdba身份 把A1包的执行权限给这个用户。

    举例:

    1.C:UsersAnakin>sqlplus /nolog
    2.SQL> connect /as sysdba;(进行数据库连接)
    3.grant execute on A1 to xxx(指定的用户名);

    2、

    PLS-00204: 函数或伪列 'EXISTS' 只能在 SQL 语句中使用;结果:PL/SQL中不能用exists函数?

    利用 Oracle 原有的 Exists 语法,如下
    declare
      v_cnt number;
    begin
      select count(*)
        into v_cnt
        from dual
       where exists (select * from t_vip where col=1);
      if v_cnt = 0 then
        dbms_output.put_line('无记录');
      end if;
    end;
    通过在语句的外面套上一层dual,来使用oracle原有的exists语法
    性能好得多,与MSSQL的 if exists 最接近,推荐使用。

  • 相关阅读:
    洛谷P4175 网络管理
    洛谷P2605 基站选址
    洛谷P3723 礼物
    bzoj3771 Triple
    洛谷P3321 序列统计
    bzoj2194 快速傅里叶之二
    1109课堂内容整理
    响应式网页
    表单隐藏域有什么作用?
    1106课堂笔记
  • 原文地址:https://www.cnblogs.com/uftwkb24/p/9622098.html
Copyright © 2011-2022 走看看