Die ATTACH-Anweisung fügt einen Teil der Nachrichtenbaumstruktur an einer neuen Position in der Nachrichtenhierarchie ein.
Das folgende Beispiel veranschaulicht die Verwendung der ATTACH-Anweisung zusammen mit der DETACH-Anweisung (siehe DETACH-Anweisung) zum Modifizieren einer Nachrichtenstruktur. Die dynamische Referenz, der an die DETACH-Anweisung übergeben wird, muss auf eine modifizierbare Nachrichtenbaumstruktur wie z. B. Environment, Local Environment, OutputRoot, OutputExceptionList oder InputLocalEnvironment zeigen.
Für die Verwendung von ATTACH gelten Einschränkungen. Im Allgemeinen werden Elemente, die von den Ausgabebaumstrukturen eines Rechenknotens abgehängt werden, nicht in die Umgebung oder in Eingabebaumstrukturen eingefügt.
<Data> <Order> <Item>Käse <Type>Stilton</Type> </Item> <Item>Brot</Item> </Order> <Order> <Item>Knoblauch</Item> <Item>Wein</Item> </Order> </Data>diese ESQL-Anweisungen verwendet:
SET OutputRoot = InputRoot; DECLARE ref1 REFERENCE TO OutputRoot.XML.Data.Order[1].Item[1]; DETACH ref1; ATTACH ref1 TO OutputRoot.XML.Data.Order[2] AS LASTCHILD;so ergibt sich die folgende neue Nachrichtenbaumstruktur:
<Data> <Order> <Item>Brot</Item> </Order> <Order> <Item>Knoblauch</Item> <Item>Wein</Item> <Item>Käse <Type>Stilton</Type> </Item> </Order> </Data>
Weitere Informationen zu dynamischen Referenzen finden Sie im Abschnitt Dynamische Feldverweise erstellen.