JJ.*_*JJ. 6 sql oracle stored-procedures oracle9i ora-00942
我正在尝试从存储过程中的dba_tab_cols视图中进行SELECT.它不起作用,我不知道为什么.
如果我执行以下SQL作为查询:
SELECT t.data_type FROM dba_tab_cols t
WHERE
t.table_name = 'ACCOUNTTYPE' AND
t.column_name = 'ACCESSEDBY';
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,如果我将其复制到存储过程中,如下所示:
SELECT t.data_type INTO dataType FROM dba_tab_cols t
WHERE
t.table_name = 'ACCOUNTTYPE' AND
t.column_name = 'ACCESSEDBY';
Run Code Online (Sandbox Code Playgroud)
我收到错误消息"PL/SQL:ORA-00942:表或视图不存在",编辑器在尝试编译时突出显示dba_tab_cols.在这两种情况下都使用相同的db用户.
dataType声明为:dataType varchar2(128);
PL/SQL(Oracle 9)
有人知道这个问题吗?
Eoi*_*ell 12
这很可能是特权问题.是dba_tab_columns 通过角色访问的权限还是对用户的直接选择授权?SPROCS不提供通过角色授予的权限.
快速查看谷歌建议使用all_tab_cols而不是看看该表是否具有您需要的所需信息.
| 归档时间: |
|
| 查看次数: |
5412 次 |
| 最近记录: |