powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вызов функции из пакета
3 сообщений из 3, страница 1 из 1
Вызов функции из пакета
    #39724773
slay2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если где-то есть вызов функции из пакета и результат никуда не сохраняется, то при компиляции получаем "Parsing error"

Пример:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
CREATE TABLE TEST_TABLE (
    ID  INTEGER,
    A   INTEGER
);

SET TERM ^ ;

CREATE OR ALTER package test3
as
begin

function set_int(id int, s int)
returns int;

procedure p1;
procedure p2;
procedure p3;
 
end^

RECREATE package body test3
as
begin
function set_int(id int, s int)
returns int
as
    declare variable p int;
begin
    update test_table t set
        a = :s
    where
        id = :id
    returning old.id into :p;
    return p;
end

procedure p1
as
begin
    test3.set_int(1, 3);
end

procedure p2
as
    declare variable p int;
begin
    p = test3.set_int(1, 4);
end

procedure p3
as
begin
    set_int(1, 3);
end
 
end
^

SET TERM ; ^


p1 - parsing error
p2 и p3 - все ок
...
Рейтинг: 0 / 0
Вызов функции из пакета
    #39724782
slay2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А при сравнении БД получаем вот это:
Код: plaintext
1.
2.
3.
Parsing database object definitions...
==== Error ==== : TEST3: Invalid statement (? assignment)
                  Script:  Line:18 Pos:20
Притом ошибается с номером строки - реальная 20
...
Рейтинг: 0 / 0
Вызов функции из пакета
    #39725471
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Исправил.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Вызов функции из пакета
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]