zmienna w triggerze

0

Problem wydaje się być banalny, a jednak nie mogę go przeskoczyć więc proszę spojrzeć może coś przeoczyłem.
Zgodnie z tutorialem tworze trigger walidujący dokument XML przed insertem.

 CREATE TRIGGER VALIDATION_TRIGGER BEFORE INSERT ON MYTABLE
 REFERENCING NEW AS N 
 FOR EACH ROW MODE DB2SQL

BEGIN ATOMIC
DECLARE VAR1 VARCHAR(1000);
DECLARE VAR2 VARCHAR(1000);
SET VAR1 =  (SELECT S.NAME FROM SCHEMAS S, MYTABLE N WHERE S.ID=N.ID FETCH FIRST 1 ROWS ONLY);
SET VAR2 = 'XMLVALIDATE(N.TRESC ACCORDING TO XMLSCHEMA ID ' || VAR1  ||')';

 SET (N.COL1)=	VAR2;
 SET (N.COL2)= 	XMLVALIDATE(N.COL2 ACCORDING TO XMLSCHEMA ID MYSCHEMA);
END@

Na wszelki wypadek wstawiam w COL1 i COL2 to samo. Przy COL2 nie ma problemu. Problem generuje waldacja COL1.
Select poprawnie zwraca nazwę MYSCHEMA. Wydaje mi się, że powinno zadziałać.
Podczas wywoływania nie ma błędów, ale przy insercie pojawia się błąd triggera SQLCODE "-16132", SQLSTATE "2200M"
Z góry dziękuję za wszystkie sugestie.

0

za dokumentcją IBM http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com.ibm.db2.udb.msg.doc/doc/sql16132.htm

Objaśnienie:

Podczas analizy składniowej dokumentu XML analizator napotkał niepoprawną strukturę dokumentu. Analizator napotkał drukowalne znaki w prologu dokumentu instancji lub w zewnętrznym podzbiorze deklaracji DTD.

Analiza składniowa lub sprawdzenie poprawności nie zostały zakończone.

Działanie użytkownika:

Popraw dokument XML i spróbuj ponowić operację.

1 użytkowników online, w tym zalogowanych: 0, gości: 1