Quantcast
Channel: SQL.ru: Firebird, InterBase
Viewing all articles
Browse latest Browse all 1677

Не компиляется процедура

$
0
0
Мужики, я тут осваиваю новое для меня - написание процедур. Решил потренироваться на древовидной табличке (благо, она заполненная реальными данными)
+
CREATE TABLE TBL_MKB10 (
    ID          INTEGER NOT NULL,
    PARENT_ID   INTEGER,
    MKB_VALUES  VARCHAR(300)
);

ALTER TABLE TBL_MKB10 ADD CONSTRAINT PK_MKB10 PRIMARY KEY (ID);
CREATE INDEX PARENT_IDX ON TBL_MKB10 (PARENT_ID);

наваял при образцу из Диминой статьи процедуру
+
CREATE OR ALTER PROCEDURE GET_PARENT (
    ID TYPE OF COLUMN TBL_MKB10.ID)
RETURNS (
    PATH TYPE OF COLUMN TBL_MKB10.MKB_VALUES,
    PARENT_ID TYPE OF COLUMN TBL_MKB10.PARENT_ID)
AS
BEGIN
  WHILE (:ID > 0) DO
  BEGIN
    FOR SELECT M.PARENT_ID, M.MKB_VALUES
        FROM TBL_MKB10 M
        WHERE M.ID = :ID
        INTO :PARENT_ID, :PATH; --вероятно, затык тут
        ID = :PARENT_ID;
        SUSPEND;
      END
END

Получаю отлуп
+
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 13, column 31.
;.


Что не так? Картинка с другого сайта.

=================
Док.

Win7 Ultim x64/Deb 7.6 i386 (Deb 8.3 i386):
FB 3.0.0.32483, диалект 3, SS(win)/CS(Deb),
Lazarus 1.7; FPC 3.1.1, IBX by -Rik-; IBE 2016.4.29.1
IBE 2016.5.14.1

Viewing all articles
Browse latest Browse all 1677

Trending Articles