Oracle11g Oracle中序列的同义词

Oracle11g Oracle中序列的同义词,oracle11g,sequence,synonym,Oracle11g,Sequence,Synonym,我想在oracle中为序列创建一个同义词,并从中获取currval 我用这个语句创建了一个同义词 CREATE SYNONYM NUMGEN FOR MY_SEQ; 当我从NUMGEN获取currval或extval时,它生成错误,同义词不存在 SELECT NUMGEN.currval FROM dual; 有谁能帮我从同义词中提取currval。您可能没有授予该用户权限。 尝试使用以下任一查询授予权限,然后重试 向NEWDB授予选择任意序列的权限 将ORIGINALDB.SEQUENCE

我想在oracle中为序列创建一个同义词,并从中获取
currval

我用这个语句创建了一个同义词

CREATE SYNONYM NUMGEN FOR MY_SEQ;
当我从
NUMGEN
获取
currval
extval
时,它生成错误,同义词不存在

SELECT NUMGEN.currval FROM dual;

有谁能帮我从同义词中提取
currval

您可能没有授予该用户权限。 尝试使用以下任一查询授予权限,然后重试

向NEWDB授予选择任意序列的权限


将ORIGINALDB.SEQUENCENAME上的SELECT授予NEWDB

一定有什么你没有告诉我们的。这确实有效。请看这里的示例:currval在您的示例中也不起作用。在我的数据库中,即使nextval不起作用,我也不明白为什么。谢谢你的帮助。这两个都在工作,但我不明白为什么我在执行currval之前要执行nextval。你必须先调用
nextval
,然后才能调用
currval
。手册中清楚地记录了这一点。