gpt4 book ai didi

sql - 无法从存储过程(PL/SQL)中的dba_tab_cols中选择

转载 作者:行者123 更新时间:2023-12-04 13:25:11 26 4
gpt4 key购买 nike

我正在尝试从存储过程中的dba_tab_cols View 中进行选择。它不起作用,我也不知道为什么。

如果我执行以下SQL作为查询:

SELECT t.data_type FROM dba_tab_cols t
WHERE
t.table_name = 'ACCOUNTTYPE' AND
t.column_name = 'ACCESSEDBY';

它工作正常。但是,如果我将其复制到存储过程中,如下所示:
SELECT t.data_type INTO dataType FROM dba_tab_cols t
WHERE
t.table_name = 'ACCOUNTTYPE' AND
t.column_name = 'ACCESSEDBY';

我收到错误消息“PL/SQL:ORA-00942:表或 View 不存在”,并且编辑器在尝试编译时突出显示dba_tab_cols。在两种情况下都使用相同的数据库用户。

dataType声明为:
dataType varchar2(128);

PL/SQL(Oracle 9)

有人知道这个问题吗?

最佳答案

这很可能是特权问题。是通过角色访问dba_tab_columns的权限,还是对用户的直接选择授予?通过角色授予的特权在SPROCS中不可用。

在Google上快速浏览一下,建议您改用all_tab_cols并查看该表是否包含所需的信息。

关于sql - 无法从存储过程(PL/SQL)中的dba_tab_cols中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/803618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com