oracle - 不能使用 DBMS_RANDOM 函数

标签 oracle oracle11g

我使用 Oracle Database 11g 并且我有一个相当简单的代码:

set serveroutput on format wrapped;
declare
result_ clob;
begin
result_ := dbms_random.string('P', 10);
dbms_output.put_line(result_);
end;

当我尝试运行时,它给我一个错误提示:

identifier 'DBMS_RANDOM' must be declared

为什么 dbms_random 不被识别为有效标识符?我必须导入它吗?

最佳答案

这可能是权限问题。 EXECUTE on DBMS_RANDOM is not granted by default ,因此您需要一个 DBA 用户来授予您 EXECUTE 权限。

grant execute on dbms_random to << your_username >>;

虽然安装是默认设置,但也有可能未安装软件包。同样,您需要 DBA 用户进行检查,如果需要,请运行安装脚本。

关于oracle - 不能使用 DBMS_RANDOM 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52586213/

相关文章:

mysql - 具有多个条件的左外连接 - MYSQL

sql - 删除重复条目但保持关系

Oracle 中的 MySQL 锁替代方案

oracle11g - Oracle 11g 中将列转换为行

database - Oracle 数据库中不区分大小写搜索的性能

Oracle - 从表中选择最新的不同记录

sql-server - 无法参与交易

database - 如何判断电脑上是否安装了oracle数据库

java - 在 JDBC 中插入单引号以进行 SQL 查询不起作用

sql - PL/SQL...如果在一个选择中?