EINFÜGEN WÄHLEN Sie im Firebird

Ich bin neu in firebird und ich habe verious Probleme. Ich will an insert-mehrere Zeilen in eine Tabelle ausgewählt aus einer anderen Tabelle.

Hier der code:

/*CREATE GENERATOR POS; */
SET GENERATOR POS TO 1;

SET TERM ^;

create trigger BAS_pkassign
   for MATERIAL
active before insert position 66

EXECUTE BLOCK
AS

  declare posid bigint;
  select gen_id(POS, 1)
  from RDB$DATABASE
  into :posid;

BEGIN



END

SET TERM ; ^


INSERT INTO MATERIAL ( /*ID */ LOCATION, POSID, ARTID, ARTIDCONT, QUANTITY )
SELECT  1000, ':posid', 309, BAS_ART.ID, 1
FROM    BAS_ART
WHERE   BAS_ART.ARTCATEGORY LIKE '%MyWord%'

Die ID sollte autoincrement von 66 auf. Die posid sollten autoincrement-aus 1.

Eigentlich ist es nicht einfügen alles.

Ich bin mit Firebird Maestro und gerade eröffnet das SQL-Skript-Editor (was aber nicht werfen eine Fehlermeldung auf das Skript ausgeführt wird).

Kann mir keiner helfen?

Dank!

Zusätzliche Informationen:

Den trigger sollte die autoincrement-Spalte "ID" - aber ich weiß nicht wie genau ich das ändern kann, damit es funktioniert..': posid' wirft einen Fehler, die es verwenden :posid aber so gibt es keinen Fehler (ich denke, es ist umgesetzt als string). Aber wie verwende ich es richtig?

Ich bekomme kein Fehler, wenn ich es ausführen. Die Struktur der Tabelle ist einfach. Ich habe 2 Tabellen:
1.

 Material (
ID (INTEGER),
Location (INTEGER),
POSID (INTEGER),
ARTID (INTEGER),
ARTIDCONT (INTEGER),
QUANTITY (INTEGER),
OTHERCOLUMN (INTEGER)) 

und die 2. andere Tabelle

BAS_ART (ID (INTEGER), ARTCATEGORY (VARCHAR255))

-> ich einfügen wollen, die alle Einträge aus der Tabelle BAS_ART, die enthalten "MyWord" in der Spalte ARTCATEGORY in der MATERIAL-Tabelle.

Dein trigger hat keine Wirkung: es hat einen syntax Fehler und wenn es richtig war, es wird nicht aktualisiert, nichts. Ich bin auch ziemlich sicher, dass ':posid' ist kein Gültiger Wert für die Spalte POSID. Sie können aber auch jeden Fehler erhalten Sie, wenn Sie diese ausführen, und beschreiben Sie bitte die Struktur der Tabelle und was Sie wirklich erreichen wollen
Der trigger sollte die autoincrement-Spalte "ID" - aber ich weiß nicht wie genau ich das ändern kann, damit es funktioniert..': posid' wirft einen Fehler, die es verwenden :posid aber so gibt es keinen Fehler (ich denke, es ist umgesetzt als string). Aber wie verwende ich es richtig?
Ich bekomme kein Fehler, wenn ich es ausführen. Die Struktur der Tabelle ist einfach. Ich habe 2 Tabellen: 1. Material (ID, Lage, POSID, ARTID, ARTIDCONT, MENGE, OTHERCOLUMN) und die 2. andere Tabelle BAS_ART (ID, ARTCATEGORY) -> ich einfügen wollen, die alle Einträge aus der Tabelle BAS_ART, die enthalten "MyWord" in der MATERIAL-Tabelle. @MarkRotteveel
Bitte, dass die Art der Informationen, die in Ihrer Frage und enthalten den Datentypen, das ist besser lesbar, als in den Kommentaren!
Es ist mir unklar, was POSID ist, und warum sollte es generiert alle.

InformationsquelleAutor number5 | 2014-01-14

Schreibe einen Kommentar