发生错误:“在创建PSQL变量时,对过程不允许使用GRANT OPTION”

问题描述 投票:1回答:1

我们正在将SQL Manager用于interbase-firebird和Firebird 3.0.5。我们正在创建一个程序,并且运行良好。

然而,从我们向过程中添加psql变量的那一刻起,我们得到了以下错误。当我们删除变量时,可以再次执行该过程。在已添加的变量下面(也请参见下图)。

  Declare variable ikke integer;

错误消息说:

不允许在程序上使用授予的选项。

详细的错误信息说:

对“文本”的引用,使包含许可选项的GETTEXT程序;

因此似乎通过使用psql变量,添加了表“ TEXT”对存储过程的引用,并且显然不允许。

所以,听起来像是许可的东西。但是,当我们向过程授予权限时,参考区域将显示为灰色,因此我们无法像在执行级别上一样授予权限。

**enter image description here**而且,如果我们在表文本上查看权限级别,则会给出参考权限,但是无法添加“带有授权的权限”(手形图标)。

enter image description here

我不知道问题是什么以及如何解决,有什么想法吗?

UPDATE 27/02/2012如果我将相同的代码添加到执行块中,则效果很好。有什么想法吗?

execute block
RETURNS(ID BIGINT, TEXTNAME VARCHAR(1000))
AS
DECLARE ikke VARCHAR(50);
BEGIN
 Id = 0;
 Textname = '';
 ikke = '%a%';
  FOR
 SELECT "ID", "enUS" FROM "Text" WHERE "enUS" like :ikke INTO :Id, :Textname
 DO
 BEGIN
    SUSPEND;
 END
END;

在错误的一些其他打印屏幕下面。

Error message when executing the stored procedure

Detailed error info

firebird procedure sql-manager firebird-psql
1个回答
0
投票

因此,当我添加psql变量时,尚不清楚为什么会自动授予“特权”,但是当我在编译弹出窗口中取消选中授予的许可权,然后执行回滚/重新编译时,它会起作用。

© www.soinside.com 2019 - 2024. All rights reserved.