首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法注册DBMS更改通知,收到错误"dbms更改通知必须声明“

无法注册DBMS更改通知,收到错误"dbms更改通知必须声明“
EN

Stack Overflow用户
提问于 2019-04-10 00:03:09
回答 1查看 974关注 0票数 0

我正在尝试注册DBMS更改通知,但是我在提到必须声明DBMS_CHANGE_NOTIFICATION时出错。

下面是我的SQL代码:

代码语言:javascript
复制
DECLARE
  regid     NUMBER;
BEGIN
    --Deregister any existing change notification...
    BEGIN
        SELECT regid INTO regid FROM dba_change_notification_regs WHERE LOWER(table_name) LIKE '%aws_app_change_notif';
        IF (regid IS NOT NULL) THEN
            DBMS_OUTPUT.PUT_LINE('Deregistered aws_app_change_notif');
            DBMS_CHANGE_NOTIFICATION.DEREGISTER(regid);
        END IF;
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            DBMS_OUTPUT.PUT_LINE('No change notification found for table aws_app_change_notif');
    END;

    --Register change notification...
    DECLARE
        regds             SYS.CHNF$_REG_INFO;
        regid             NUMBER;
        dept_id           NUMBER;
        qosflags          NUMBER;
        operations_filter NUMBER;
        max_id            NUMBER;
    BEGIN
        qosflags := DBMS_CHANGE_NOTIFICATION.QOS_RELIABLE + DBMS_CHANGE_NOTIFICATION.QOS_ROWIDS;
        operations_filter := DBMS_CHANGE_NOTIFICATION.INSERTOP;
        regds := SYS.CHNF$_REG_INFO ('aws_app_change_notif_callback', qosflags, 0,operations_filter,0);
        regid := DBMS_CHANGE_NOTIFICATION.NEW_REG_START (regds); 
        SELECT max(id) INTO max_id FROM aws_app_change_notif;
        DBMS_CHANGE_NOTIFICATION.REG_END;
    END;
END;

执行后,我得到以下错误:

DBMS_CHANGE_NOTIFICATION.DEREGISTER(regid);在第9行出现错误: ORA-06550:第9行,第13栏: PLS-00201:标识符'DBMS_CHANGE_NOTIFICATION‘必须声明 ORA-06550:第9行,第13列: PL/SQL:语句被忽略 ORA-06550:第25行,第21栏: PLS-00201:标识符'DBMS_CHANGE_NOTIFICATION‘必须声明 ORA-06550:第25行,第9列: PL/SQL:语句被忽略 ORA-06550:第26行,第30栏:请-00201:标识符'DBMS_CHANGE_NOTIFICATION‘必须声明 ORA-06550:第26行,第9列: PL/SQL:语句被忽略 ORA-06550:第28行,第18栏: PLS-00201:标识符'DBMS_CHANGE_NOTIFICATION‘必须声明 ORA-06550:第28行,第9列: PL/SQL:语句被忽略 ORA-06550:第29行,第41列: PL/SQL: ORA-00942:表或视图不存在 ORA-06550:第29行,第9列: PL/ SQL :忽略SQL语句 ORA-06550:第30行,第9栏: PLS-00201:必须声明标识符'DBMS_CHANGE_NOTIFICATION‘ ORA-06550:第30行,第9列: PL/SQL:语句被忽略

我使用OracleDatabase18c速成版18.0.0.0.0 -生产作为我的数据库。

有人能告诉我这里出了什么问题吗。

EN

回答 1

Stack Overflow用户

发布于 2019-04-10 01:56:59

我必须授予引起问题的权限。

授予权限后,我可以解决错误。

一个很好的例子解释可以找到这里

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55602900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档