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


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