Описание тега firebird-psql
Процедурный язык для базы данных Firebird. Используйте этот тег для вопросов, касающихся хранимых процедур Firebird, триггеров, блока выполнения или хранимых функций PSQL.
1
ответ
Помощь с хранимой процедурой Firebird SQL
У меня очень простая хранимая процедура: ALTER PROCEDURE SP_BALANCE_USD ( PER SMALLINT ) RETURNS ( ACCOUNT_NUMBER CHAR(21), AMOUNT NUMERIC(15, 4) ) AS BEGIN SELECT L.ACCOUNT_NUMBER, SUM(-(CURRROUND(L.DEBIT,2) - CURRROUND(L.CREDIT,2))) FROM LEDGER L …
24 ноя '19 в 11:58
1
ответ
Обработка исключений Firebird 2.5 в автономной транзакции
У меня падает производительность одной из хранимых процедур Firebird, и я не понимаю, почему. В упомянутом SP я нашел следующий код: declare v_dummy integer; ... in autonomous transaction do begin -- insert may fail, but that is not a problem becaus…
20 янв '20 в 00:25
1
ответ
Фиксация / откат Firebird 2.5 (с использованием автономной транзакции) в цикле
Мне нужно обрабатывать записи в цикле хранимой процедуры, например: create or alter procedure process_waiting_records as declare v_id type of column my_table.id; begin for select t.id from my_table t where (t.status = 'WAITING_TO_PROCESS') order by …
08 фев '20 в 13:21
0
ответов
Вставить нулевое значение
Я пытаюсь вставить значение двойной точности (ilosc_zlec) в таблицу (M_ZAMWLASNEPOZ). Сначала я использую оператор select, чтобы получить значение. После запуска этой части кода я вижу правильное значение в переменной ( 39). Затем я пытаюсь вставить…
11 фев '20 в 12:04
0
ответов
Изменение типа данных с varchar на целое число
Я пытаюсь найти первый свободный номер (SYMBOL_ZAM) в таблице и добавить 1, чтобы сделать уникальным для моей новой записи. Сначала я выбираю последнее добавленное число в переменную varchar (OST_SZUK_NR), а затем я пытался сделать поле NOWY_SYMB_ZA…
12 фев '20 в 14:32
1
ответ
TIBScript и локальные переменные
Я работаю с Delphi 7 и Firebird 2.0. В своем приложении я использую компоненты TIBScript. Проблема возникает, когда я использую в скрипте локальные переменные. В некоторых случаях Firebird требует, чтобы перед именами локальных переменных ставилось …
23 июн '20 в 15:14
1
ответ
процедура return True или False
Мне нужна хранимая процедура в firebird 3.0, чтобы вернуть результат True, False или 1,0, чтобы проверить, существует ли этот человек или запись в базе данных. Если существует, процедура должна вернуть true, если не вернуть False, или вернуть 1, есл…
15 авг '20 в 23:25
1
ответ
При создании переменной PSQL возникает ошибка: "Использование GRANT OPTION для процедур не разрешено".
Мы используем диспетчер SQL для interbase-firebird, а также Firebird 3.0.5. Мы создаем процедуру, и она отлично работает. Однако с момента добавления переменной psql в процедуру мы получаем ошибку ниже. Когда мы удалим переменную, процедура может бы…
27 фев '20 в 12:41
1
ответ
Как вложить анонимные блоки с операторами объявления в Firebird?
В Firebird, DECLAREзаявления могут быть перечислены в начале EXECUTE BLOCKзаявление: EXECUTE BLOCK [(<inparams>)] [RETURNS (<outparams>)] AS [<declarations>] BEGIN [<PSQL statements>] END Внутри блока, не дальшеDECLAREвозможн…
12 мар '20 в 16:12
1
ответ
Устранение одиночной ошибки в хранимой процедуре
У меня есть следующая хранимая процедура в Firebird SQL: ALTER PROCEDURE SP_REPORT_USD ( PER SMALLINT ) RETURNS ( ACCOUNT_NUMBER CHAR(21), AMOUNT NUMERIC(15, 4) ) AS BEGIN SELECT L.ACCOUNT_NUMBER, SUM(CURRROUND(L.DEBIT,2)-CURRROUND(L.CREDIT,2)) FROM…
24 ноя '19 в 13:41
1
ответ
Как пропустить / продолжить оператор удаления, когда таблица не существует?
Я хочу написать блок выполнения, который я могу использовать для нескольких баз данных с аналогичной структурой, в некоторых нет одной или более таблиц. Я использую что-то вроде этого execute block as begin delete from table1; delete from table2; de…
13 июл '20 в 10:46
1
ответ
"Столбец не принадлежит указанной таблице" Почему?
Этот код должен удалить альбом, но я не знаю, почему он все еще не работает declare variable al_eliminare integer; begin select count(album.id) from album where id = :id_album into :al_eliminare; if(al_eliminare = 0) then delete from album where alb…
10 янв '20 в 12:38
1
ответ
Обновляется ли переменная курсора при обновлении строки?
В коде ниже (тело хранимой процедуры), обновляется ли значение поля курсора автоматически после ОБНОВЛЕНИЯ или нет? Если нет, достаточно ли снова команды «Закрыть / открыть»? Я не нашел никакого описания, которое включало бы это, это были только кур…
20 фев '21 в 20:10
0
ответов
Запуск SQL Server для Firebird
У меня есть триггер SQL Server, который я пытался преобразовать для Firebird, но, похоже, у меня с ним проблемы. Вот мой триггер SQL: CREATE TRIGGER [dbo].[IDSOFT_INTERV_UI] ON [MMAINT_SOCO_PROD].[dbo].[T_ZONES_LIBRES_UI] AFTER UPDATE AS BEGIN IF UP…
22 фев '21 в 08:49
2
ответа
Как получить сумму полей подробной таблицы в главной таблице с триггером обновления
В базе данных Firebird 3.0 есть основная таблица «factgad» и подробная таблица «recgad». factgad : factgad_k(пр_к) ... recgad : recgad_k(pr_k), factgad_k(fk) ... Когда я обновляю главную таблицу, мне нужно получить сумму записей таблицы подробностей…
21 фев '21 в 17:15
2
ответа
Переменное количество параметров в хранимой процедуре Firebird
У меня есть следующая хранимая процедура: ALTER PROCEDURE SP_STOCK_ANALYSIS ( MAIN_GROUP CHAR(6) ) RETURNS ( STOCK_CODE CHAR(21), STOCK_GROUP CHAR(6), DESCRIPTION CHAR(31), EXPENSE NUMERIC(15, 4) ) AS BEGIN FOR SELECT L.STOCK_CODE, INV.DESCRIPTION, …
18 фев '21 в 11:04
1
ответ
firebird выполняет объединение блоков
Есть ли способ выполнить объединение 2 наборов, где оба были выведены двумя разными командами блока выполнения? Структура наборов одинакова, но каждый из них содержит разные параметры, поэтому я не могу легко объединить оба в одной команде выполнени…
17 фев '21 в 19:35
1
ответ
Добавить новую строку для первой из той же группы
Я новичок в Firebird и нуждаюсь в вашей помощи. Я знаю, что задача Firebird не в том, чтобы сделать хороший отпечаток. У меня есть хранимая процедура со следующим сокращенным выводом: Я использую Firebird 2.5.8
26 апр '21 в 13:44
1
ответ
Несколько строк Firebird в синглтоне выберите Где нравится
Я пытаюсь получить несколько строк с похожим условием. EXECUTE BLOCK RETURNS (ID Varchar(128), SCRIPT BLOB SUB_TYPE TEXT) AS BEGIN FOR SELECT Col1.EID, Col1.Script FROM Col1 WHERE Col1.Script Like %test12% INTO :ID, :SCRIPT DO BEGIN SUSPEND; END END…
22 сен '21 в 11:48
0
ответов
Проблема параметра RDB$DB_KEY в хранимой процедуре
У меня проблема. Я пытаюсь передать данные RDB$DB_KEY в хранимую процедуру, но когда я открываю курсор, он говорит, что не может найти запись на основе параметра. Я не понимаю, почему курсор не может найти запись, если тип соответствия параметра RDB…
29 сен '21 в 16:19