Произошла ошибка: «Использование GRANT OPTION в процедурах не разрешено» при создании переменной PSQL - PullRequest
1 голос
/ 27 февраля 2020

Мы используем SQL менеджер для interbase-firebird, а также Firebird 3.0.5. Мы создаем процедуру, и она отлично работает.

Однако с того момента, как мы добавили переменную psql в процедуру, мы получаем ошибку ниже. Когда мы удаляем переменную, процедура может быть выполнена снова. Ниже добавленной переменной (см. Рисунок ниже).

  Declare variable ikke integer;

Сообщение об ошибке гласит:

ИСПОЛЬЗОВАНИЕ GRANT OPTION В ПРОЦЕДУРЕ НЕ РАЗРЕШЕНО.

Подробная информация об ошибке гласит:

GRANT ССЫЛКИ НА «Текст» ДЛЯ ПРОЦЕДУРЫ GETTEXTCONTAINING С GRANT OPTION;

Таким образом, кажется, что при использовании psql переменная Добавлена ​​ссылка из таблицы «ТЕКСТ» на хранимую процедуру, и которая, по-видимому, недопустима.

Итак, это звучит как разрешение вещей. Однако, когда мы даем разрешение на процедуру, области ссылки становятся серыми, поэтому мы не можем дать разрешение, как мы делали на уровне выполнения.

**enter image description here** И если мы посмотрим на уровне разрешений в тексте таблицы дается справочное разрешение, однако добавить «разрешение с грантом» (значок руки) невозможно.

enter image description here

Я не знаю, в чем проблема и как ее решить, есть идеи?

ОБНОВЛЕНИЕ 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

1 Ответ

0 голосов
/ 14 марта 2020

Так что неясно, почему «привилегия» предоставляется автоматически, когда я добавляю переменную psql, но когда я снимаю флажок с предоставленного разрешения во всплывающем окне компиляции и затем выполняю откат / перекомпиляцию, это работает.

...