Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDEX Provider fails to import relations of attached DB [DNET391] #395

Closed
firebird-automations opened this issue Aug 31, 2011 · 6 comments
Closed

Comments

@firebird-automations
Copy link

Submitted by: dirk wegmann (dw08)

Attachments:
SCHULE.FDB
NullReferenceException.jpg

Hi!
trying to generate a DataSet in VS2010pro via DDEX Provider with our DB leads into an Exception! I've tried a simple DB with a single comparable relation and that worked fine.

Connectionstring
character set=UNICODE_FSS;data source=localhost;initial catalog=C:\ProgramData\Flinky-Schule\Datenbank\SCHULE.FDB;user id=sysdba;password=masterkey

And here the DDL extract:
/*******************************************************************************
* Selected metadata objects
* -------------------------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

/*******************************************************************************
* Generators
* ----------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

CREATE GENERATOR GEN_ABWESENHEITID;
CREATE GENERATOR GEN_ADRESSEID;
CREATE GENERATOR GEN_AEFID;
CREATE GENERATOR GEN_ANHANGID;
CREATE GENERATOR GEN_ARZTID;
CREATE GENERATOR GEN_AUSGLEICHID;
CREATE GENERATOR GEN_BISHERIGESCHULEID;
CREATE GENERATOR GEN_ERZBID;
CREATE GENERATOR GEN_ERZBPERSONID;
CREATE GENERATOR GEN_EXTENSIONSCHEMAID;
CREATE GENERATOR GEN_FREMDSPRACHEID;
CREATE GENERATOR GEN_INSTITUTIONID;
CREATE GENERATOR GEN_JOURNALEINTRAGID;
CREATE GENERATOR GEN_KLASSEID;
CREATE GENERATOR GEN_KRANKENKASSEID;
CREATE GENERATOR GEN_LEHRAMTID;
CREATE GENERATOR GEN_LEHRBEFAEHIGUNGID;
CREATE GENERATOR GEN_LEHRERBEWEGUNGID;
CREATE GENERATOR GEN_LEHRERID;
CREATE GENERATOR GEN_MITARBEITERBEWEGUNGID;
CREATE GENERATOR GEN_MITARBEITERID;
CREATE GENERATOR GEN_NOTFALLPROTOKOLLEINTRAGID;
CREATE GENERATOR GEN_PERSONBEWEGUNGID;
CREATE GENERATOR GEN_PERSONID;
CREATE GENERATOR GEN_PERSONJOURNALEINTRAGID;
CREATE GENERATOR GEN_SCHUELERBEWEGUNGID;
CREATE GENERATOR GEN_SCHUELERID;
CREATE GENERATOR GEN_SCHULEID;
CREATE GENERATOR GEN_SCHULLAUFBAHNID;
CREATE GENERATOR GEN_SERIALIZEDLISTENLAYOUTID;
CREATE GENERATOR GEN_STUNDENABGABEID;
CREATE GENERATOR GEN_TEXTNOTIZID;
CREATE GENERATOR GEN_UNTERRICHTID;
CREATE GENERATOR GEN_UNTERRICHTSBEFAEHIGUNGID;
CREATE GENERATOR GEN_USERID;
CREATE GENERATOR GEN_VERFUEGBARID;
CREATE GENERATOR GEN_VERWALTUNGSMITARBEITERBEWID;
CREATE GENERATOR GEN_VERWALTUNGSMITARBEITERID;
/*******************************************************************************
* Tables
* ------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

CREATE TABLE "Abwesenheit"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"__Grund" VARCHAR( 20) COLLATE UTF8,
"VonDatum" TIMESTAMP,
"BisDatum" TIMESTAMP,
PRIMARY KEY ("id")
);
CREATE TABLE "Adresse"
(
"id" INTEGER NOT NULL,
"Strasse" VARCHAR( 50) COLLATE UTF8,
"_plz_PLZ" VARCHAR( 10) COLLATE UTF8,
"Ort" VARCHAR( 50) COLLATE UTF8,
"Ortsteil" VARCHAR( 50) COLLATE UTF8,
"Land_Bundesland" VARCHAR( 50) COLLATE UTF8,
"_fon_TelefonPrivat" VARCHAR( 100) COLLATE UTF8,
"_fon_TelefonGeschaeftlich" VARCHAR( 100) COLLATE UTF8,
"_fon_Mobiltelefon" VARCHAR( 100) COLLATE UTF8,
"_fon_Fax" VARCHAR( 100) COLLATE UTF8,
"_mail_EMail" VARCHAR( 100) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE AEF
(
"id" INTEGER NOT NULL,
"idLehrerBewegung" INTEGER,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
PRIMARY KEY ("id")
);
CREATE TABLE "Anhang"
(
"id" INTEGER NOT NULL,
"idJournaleintrag" INTEGER,
"FileType" VARCHAR( 10) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Arzt"
(
"id" INTEGER NOT NULL,
"idInstitution" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Ausgleich"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "BisherigeSchule"
(
"id" INTEGER NOT NULL,
"Schule" VARCHAR( 200) COLLATE UTF8,
"Von" TIMESTAMP,
"Bis" TIMESTAMP,
"idSchueler" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Erzb"
(
"id" INTEGER NOT NULL,
"idVater" INTEGER,
"idMutter" INTEGER,
"idSonstige" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "ErzbPerson"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "ExtensionSchema"
(
"id" INTEGER NOT NULL,
"TableName" VARCHAR( 50) COLLATE UTF8,
"Schema" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Fremdsprache"
(
"id" INTEGER NOT NULL,
"idSchuelerBewegung" INTEGER,
"__Sprache" VARCHAR( 20) COLLATE UTF8,
"__StatusFach" VARCHAR( 20) COLLATE UTF8,
"__StatusUnterrichtserteilung" VARCHAR( 20) COLLATE UTF8,
"__Folge" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Institution"
(
"id" INTEGER NOT NULL,
"Name1" VARCHAR( 50) COLLATE UTF8,
"Name2" VARCHAR( 50) COLLATE UTF8,
"idAdresse" INTEGER,
"idAnsprechpartner" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Journaleintrag"
(
"id" INTEGER NOT NULL,
"CreationTime" TIMESTAMP,
"Titel" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Klasse"
(
"id" INTEGER NOT NULL,
"Schuljahr" INTEGER,
"_ks_Stufe" INTEGER,
"Parallelkennung" VARCHAR( 5) COLLATE UTF8,
"idKlassenlehrer" INTEGER,
"__Klassenart" VARCHAR( 20) COLLATE UTF8,
"IsNichtFuerStatistik" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Krankenkasse"
(
"id" INTEGER NOT NULL,
"idInstitution" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehramt"
(
"id" INTEGER NOT NULL,
"idLehrer" INTEGER,
"__Lehramt" VARCHAR( 20) COLLATE UTF8,
"LehramtFolge" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehrbefaehigung"
(
"id" INTEGER NOT NULL,
"__Lehrbefaehigung" VARCHAR( 20) COLLATE UTF8,
"idLehrer" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehrer"
(
"id" INTEGER NOT NULL,
"idMitarbeiter" INTEGER,
"LehrerId" VARCHAR( 20) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
"__Abgangsgrund" VARCHAR( 20) COLLATE UTF8,
"Zugangsdatum" TIMESTAMP,
"__Zugangsgrund" VARCHAR( 20) COLLATE UTF8,
"__Beschaeftigungsverh_Saar" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "LehrerBewegung"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"Regelpflichtstundenzahl" DECIMAL( 9, 0),
"Pflichtstundenzahl" DECIMAL( 9, 0),
"Bezahlte_Mehrarbeit" DECIMAL( 9, 0),
"Amtsbezeichnung" VARCHAR( 50) COLLATE UTF8,
"_lpos_LehrerPosition" VARCHAR( 5) COLLATE UTF8,
"ErteilterUnterrichtPrimar" DECIMAL( 9, 0),
"ErteilterUnterrichtSchulKiGa" DECIMAL( 9, 0),
PRIMARY KEY ("id")
);
CREATE TABLE "Mitarbeiter"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"Personalnummer" VARCHAR( 30) COLLATE UTF8,
"Bezeichnung" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "MitarbeiterBewegung"
(
"id" INTEGER NOT NULL,
"idPersonBewegung" INTEGER,
"Befristet_bis" TIMESTAMP,
"__Beschaeftigungsverhaeltnis" VARCHAR( 20) COLLATE UTF8,
"__Dienstverhaeltnis" VARCHAR( 20) COLLATE UTF8,
"__Dienstherr" VARCHAR( 20) COLLATE UTF8,
"AnwesendMo" CHAR( 5) COLLATE UTF8,
"AnwesendDi" CHAR( 5) COLLATE UTF8,
"AnwesendMi" CHAR( 5) COLLATE UTF8,
"AnwesendDo" CHAR( 5) COLLATE UTF8,
"AnwesendFr" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "NotfallProtokolleintrag"
(
"id" INTEGER NOT NULL,
"CreationTime" TIMESTAMP,
"Aktion" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Person"
(
"id" INTEGER NOT NULL,
"Name" VARCHAR( 50) COLLATE UTF8,
"Vorname" VARCHAR( 50) COLLATE UTF8,
"Titel" VARCHAR( 20) COLLATE UTF8,
"_gender_Geschlecht" VARCHAR( 1) COLLATE UTF8,
"Geburtsort" VARCHAR( 50) COLLATE UTF8,
"Beruf" VARCHAR( 50) COLLATE UTF8,
"Familienstand" VARCHAR( 20) COLLATE UTF8,
"Geburtsdatum" TIMESTAMP,
"Notizen" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Geburtsname" VARCHAR( 50) COLLATE UTF8,
"Ex" CHAR( 5) COLLATE UTF8,
"AbgangsdatumNeu" TIMESTAMP,
"idAdresse" INTEGER,
"__Nationalitaet" VARCHAR( 20) COLLATE UTF8,
"__Nationalitaet2" VARCHAR( 20) COLLATE UTF8,
"__Konfession" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "PersonBewegung"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"Schuljahr" INTEGER,
"__Extension" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "PersonJournaleintrag"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"idJournaleintrag" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Schueler"
(
"id" INTEGER NOT NULL,
"idErzb" INTEGER,
"idPerson" INTEGER,
"BeginnSchulpflichtKorr" TIMESTAMP,
"BeginnSchulpflichtManuell" CHAR( 5) COLLATE UTF8,
"DatumEinschulungKorr" TIMESTAMP,
"DatumEinschulungManuell" CHAR( 5) COLLATE UTF8,
"IsVaterErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsMutterErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsSonstigeErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsVaterAnschreiben" CHAR( 5) COLLATE UTF8,
"IsMutterAnschreiben" CHAR( 5) COLLATE UTF8,
"IsSonstigeAnschreiben" CHAR( 5) COLLATE UTF8,
"SchuelerId" INTEGER,
"_hand_Haendigkeit" VARCHAR( 1) COLLATE UTF8,
"Sehbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Hoerbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Sprachbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Beeintraechtigung" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Zuzugsjahr" INTEGER,
"BetreuendeSchule" CHAR( 5) COLLATE UTF8,
"Fahrkartenschueler" CHAR( 5) COLLATE UTF8,
"Einschulungsjahr" INTEGER,
"idArzt" INTEGER,
"idKrankenkasse" INTEGER,
"__Geburtsland" VARCHAR( 20) COLLATE UTF8,
"__Wohnbundesland" VARCHAR( 20) COLLATE UTF8,
"__Wohnland" VARCHAR( 20) COLLATE UTF8,
"__Herkunft" VARCHAR( 20) COLLATE UTF8,
"__Herkunftsland" VARCHAR( 20) COLLATE UTF8,
"__Sprachkenntnis" VARCHAR( 20) COLLATE UTF8,
"__SchuelerTyp" VARCHAR( 20) COLLATE UTF8,
"__Neuzugangsart" VARCHAR( 20) COLLATE UTF8,
"ErsteZurueckstellung" TIMESTAMP,
"ZweiteZurueckstellung" TIMESTAMP,
"SKiGaVom" TIMESTAMP,
"SKiGaBis" TIMESTAMP,
"SKiGaIn" VARCHAR( 200) COLLATE UTF8,
"FreiwZurueckAm" TIMESTAMP,
"FoerderMZurueckstellung" VARCHAR( 200) COLLATE UTF8,
"LetzteKlasse" VARCHAR( 10) COLLATE UTF8,
"EintrittHiesigeSchule" TIMESTAMP,
"ZurueckgetretenKlasse" VARCHAR( 10) COLLATE UTF8,
"UeberweisungAm" TIMESTAMP,
"UeberweisungAn" VARCHAR( 200) COLLATE UTF8,
"UeberweisungIsAngekommen" CHAR( 5) COLLATE UTF8,
"BefreiungSportunterricht" VARCHAR( 200) COLLATE UTF8,
"AbmeldungReligion" VARCHAR( 200) COLLATE UTF8,
"TeilnahmeFoerdermassnahmen" VARCHAR( 200) COLLATE UTF8,
"TeilnFreiwUntVeranst" VARCHAR( 200) COLLATE UTF8,
"Stammschule" VARCHAR( 200) COLLATE UTF8,
"ZuzugVon" VARCHAR( 200) COLLATE UTF8,
"Migrationshintergrund" CHAR( 5) COLLATE UTF8,
"Kindergarten" VARCHAR( 200) COLLATE UTF8,
"Integrationsart" VARCHAR( 200) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "SchuelerBewegung"
(
"id" INTEGER NOT NULL,
"idKlasse" INTEGER,
"idPersonBewegung" INTEGER,
"__TeilnReligion" VARCHAR( 20) COLLATE UTF8,
"__Familiensprache" VARCHAR( 20) COLLATE UTF8,
"__FoerderbedarfSprache1" VARCHAR( 20) COLLATE UTF8,
"__FoerderbedarfSprache2" VARCHAR( 20) COLLATE UTF8,
"__MuttersprachlUnterricht" VARCHAR( 20) COLLATE UTF8,
"__Foerderschwerpunkt" VARCHAR( 20) COLLATE UTF8,
"__Bildungsziel" VARCHAR( 20) COLLATE UTF8,
"__Abschlussart" VARCHAR( 20) COLLATE UTF8,
"__NichtVersetzt" VARCHAR( 20) COLLATE UTF8,
"__Uebergangsart" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung1" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung2" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung3" VARCHAR( 20) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
"_ks_KlassenstufeWennKlasseNull" INTEGER,
FGTS CHAR( 5) COLLATE UTF8,
"Sprachfoerderung" CHAR( 5) COLLATE UTF8,
"KannUnterrichtNichtFolgen" CHAR( 5) COLLATE UTF8,
"FruehDeutschLernen" CHAR( 5) COLLATE UTF8,
"__Integration" VARCHAR( 20) COLLATE UTF8,
"__LRS" VARCHAR( 20) COLLATE UTF8,
"__FahrzeugArt" VARCHAR( 20) COLLATE UTF8,
"FahrzeugVon" VARCHAR( 200) COLLATE UTF8,
"FahrzeugNach" VARCHAR( 200) COLLATE UTF8,
"__FahrzeugArtFollow" VARCHAR( 20) COLLATE UTF8,
"FahrzeugVonFollow" VARCHAR( 200) COLLATE UTF8,
"FahrzeugNachFollow" VARCHAR( 200) COLLATE UTF8,
"LLS_Teilnahme" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Schule"
(
"id" INTEGER NOT NULL,
"Serial" VARCHAR( 50) COLLATE UTF8,
"DbCreationDate" TIMESTAMP,
"IsActivationPending" CHAR( 5) COLLATE UTF8,
"_guid_Guid" VARCHAR( 40) COLLATE UTF8,
"Lizenznehmer" VARCHAR( 100) COLLATE UTF8,
"LizenzSchuljahr" INTEGER,
"IsDemo" CHAR( 5) COLLATE UTF8,
"Signatur" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"__Schulnummer" VARCHAR( 20) COLLATE UTF8,
"LLS_Schule_ID" VARCHAR( 20) COLLATE UTF8,
"Schulname" VARCHAR( 100) COLLATE UTF8,
"Schulname2" VARCHAR( 100) COLLATE UTF8,
"LaufendesSchuljahr" INTEGER,
"KrankenhausName" VARCHAR( 100) COLLATE UTF8,
"KrankenhausTelefon" VARCHAR( 100) COLLATE UTF8,
"idNotfallmediziner" INTEGER,
"idAdresse" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Schullaufbahn"
(
"id" INTEGER NOT NULL,
"Schuljahr" INTEGER,
"_ks_Klassenstufe" INTEGER,
"Parallelkennung" VARCHAR( 5) COLLATE UTF8,
"Schulbesuchsjahr" INTEGER,
"idSchueler" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "SerializedListenlayout"
(
"id" INTEGER NOT NULL,
"Xml" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Name" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Stundenabgabe"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Textnotiz"
(
"id" INTEGER NOT NULL,
"idJournaleintrag" INTEGER,
"Text" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Unterricht"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Unterrichtsbefaehigung"
(
"id" INTEGER NOT NULL,
"__Unterrichtsbefaehigung" VARCHAR( 20) COLLATE UTF8,
"idLehrer" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "User"
(
"id" INTEGER NOT NULL,
"UserName" VARCHAR( 20) COLLATE UTF8,
"PasswordHash" VARCHAR( 256) COLLATE UTF8,
"PasswordCrypt" VARCHAR( 1024) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Verfuegbar"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Version"
(
"Version" INTEGER,
"ContentGuid" VARCHAR( 50) COLLATE UTF8
);
CREATE TABLE "Verwaltungsmitarbeiter"
(
"id" INTEGER NOT NULL,
"idMitarbeiter" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "VerwaltungsmitarbeiterBewegung"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"_mpos_MitarbeiterPosition" VARCHAR( 5) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
PRIMARY KEY ("id")
);
/*******************************************************************************
* Foreign Key Constraints
* -----------------------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

ALTER TABLE "Institution" ADD CONSTRAINT FKADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Institution" ADD CONSTRAINT FKANSPRECHPARTNER
FOREIGN KEY ("idAnsprechpartner") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FKERZBMUTTER
FOREIGN KEY ("idMutter") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "ErzbPerson" ADD CONSTRAINT FKERZBPERSONPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FKERZBVATER
FOREIGN KEY ("idVater") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehrer" ADD CONSTRAINT FKMITARBEITER
FOREIGN KEY ("idMitarbeiter") REFERENCES "Mitarbeiter"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Mitarbeiter" ADD CONSTRAINT FKMITARBEITERPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Person" ADD CONSTRAINT FKPERSONADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FKSCHUELERERZB
FOREIGN KEY ("idErzb") REFERENCES "Erzb"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FKSCHUELERPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Abwesenheit" ADD CONSTRAINT FK_ABWESENHEIT_MITARBEITERBEWEG
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE AEF ADD CONSTRAINT FK_AEF_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Anhang" ADD CONSTRAINT FK_ANHANG_JOURNALEINTRAG
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Arzt" ADD CONSTRAINT FK_ARZT_INSTITUTION
FOREIGN KEY ("idInstitution") REFERENCES "Institution"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Ausgleich" ADD CONSTRAINT FK_AUSGLEICH_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "BisherigeSchule" ADD CONSTRAINT FK_BISHERIGESCHULEN_SCHUELER
FOREIGN KEY ("idSchueler") REFERENCES "Schueler"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FK_ERZB_SONSTIGE
FOREIGN KEY ("idSonstige") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Fremdsprache" ADD CONSTRAINT FK_FREMDSPRACHE_SCHUELERBEWEGUN
FOREIGN KEY ("idSchuelerBewegung") REFERENCES "SchuelerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Klasse" ADD CONSTRAINT FK_KLASSE_KLASSENLEHRER
FOREIGN KEY ("idKlassenlehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Krankenkasse" ADD CONSTRAINT FK_KRANKENKASSE_INSTITUTION
FOREIGN KEY ("idInstitution") REFERENCES "Institution"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehramt" ADD CONSTRAINT FK_LEHRAMT_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehrbefaehigung" ADD CONSTRAINT FK_LEHRBEFAEHIGUNG_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "LehrerBewegung" ADD CONSTRAINT FK_LEHRERBEWEGUNG_MITARBEITERBE
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "MitarbeiterBewegung" ADD CONSTRAINT FK_MITARBEITERBEWEGUNG_PERSONBE
FOREIGN KEY ("idPersonBewegung") REFERENCES "PersonBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "PersonBewegung" ADD CONSTRAINT FK_PERSONBEWEGUNG_PERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "PersonJournaleintrag" ADD CONSTRAINT FK_PERSONJOURNALEINTRAG_JOURNAL
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE CASCADE
ON UPDATE CASCADE
;

ALTER TABLE "PersonJournaleintrag" ADD CONSTRAINT FK_PERSONJOURNALEINTRAG_PERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE CASCADE
ON UPDATE CASCADE
;

ALTER TABLE "SchuelerBewegung" ADD CONSTRAINT FK_SCHUELERBEWEGUNG_KLASSE
FOREIGN KEY ("idKlasse") REFERENCES "Klasse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "SchuelerBewegung" ADD CONSTRAINT FK_SCHUELERBEWEGUNG_PERSONBEWEG
FOREIGN KEY ("idPersonBewegung") REFERENCES "PersonBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FK_SCHUELER_ARZT
FOREIGN KEY ("idArzt") REFERENCES "Arzt"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FK_SCHUELER_KRANKENKASSE
FOREIGN KEY ("idKrankenkasse") REFERENCES "Krankenkasse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schule" ADD CONSTRAINT FK_SCHULE_ADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schule" ADD CONSTRAINT FK_SCHULE_ARZT
FOREIGN KEY ("idNotfallmediziner") REFERENCES "Arzt"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schullaufbahn" ADD CONSTRAINT FK_SCHULLAUFBAHN_SCHUELER
FOREIGN KEY ("idSchueler") REFERENCES "Schueler"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Stundenabgabe" ADD CONSTRAINT FK_STUNDENABGABE_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Textnotiz" ADD CONSTRAINT FK_TEXTNOTIZ_JOURNALEINTRAG
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Unterrichtsbefaehigung" ADD CONSTRAINT FK_UBEFAEHIGUNG_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Unterricht" ADD CONSTRAINT FK_UNTERRICHT_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Verfuegbar" ADD CONSTRAINT FK_VERFUEGBAR_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "VerwaltungsmitarbeiterBewegung" ADD CONSTRAINT FK_VERWALTUNGSMITARBEITERBEWEGU
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Verwaltungsmitarbeiter" ADD CONSTRAINT FK_VERWALTUNGSMITARBEITER_MITAR
FOREIGN KEY ("idMitarbeiter") REFERENCES "Mitarbeiter"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

/*******************************************************************************
* Triggers
* --------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

/*******************************************************************************
* Trigger BI_ABWESENHEIT on table/view Abwesenheit
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ABWESENHEIT FOR "Abwesenheit" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Abwesenheitid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ADRESSE on table/view Adresse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ADRESSE FOR "Adresse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Adresseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_AEF on table/view AEF
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_AEF FOR AEF ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_AEFid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ANHANG on table/view Anhang
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ANHANG FOR "Anhang" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Anhangid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ARZT on table/view Arzt
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ARZT FOR "Arzt" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Arztid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_AUSGLEICH on table/view Ausgleich
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_AUSGLEICH FOR "Ausgleich" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Ausgleichid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_BISHERIGESCHULE on table/view BisherigeSchule
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_BISHERIGESCHULE FOR "BisherigeSchule" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_BisherigeSchuleid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ERZB on table/view Erzb
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ERZB FOR "Erzb" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Erzbid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ERZBPERSON on table/view ErzbPerson
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ERZBPERSON FOR "ErzbPerson" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_ErzbPersonid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_EXTENSIONSCHEMA on table/view ExtensionSchema
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_EXTENSIONSCHEMA FOR "ExtensionSchema" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_ExtensionSchemaid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_FREMDSPRACHE on table/view Fremdsprache
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_FREMDSPRACHE FOR "Fremdsprache" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Fremdspracheid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_INSTITUTION on table/view Institution
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_INSTITUTION FOR "Institution" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Institutionid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_JOURNALEINTRAG on table/view Journaleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_JOURNALEINTRAG FOR "Journaleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Journaleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_KLASSE on table/view Klasse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_KLASSE FOR "Klasse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Klasseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_KRANKENKASSE on table/view Krankenkasse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_KRANKENKASSE FOR "Krankenkasse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Krankenkasseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRAMT on table/view Lehramt
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRAMT FOR "Lehramt" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehramtid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRBEFAEHIGUNG on table/view Lehrbefaehigung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRBEFAEHIGUNG FOR "Lehrbefaehigung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehrbefaehigungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRER on table/view Lehrer
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRER FOR "Lehrer" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehrerid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRERBEWEGUNG on table/view LehrerBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRERBEWEGUNG FOR "LehrerBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_LehrerBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_MITARBEITER on table/view Mitarbeiter
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_MITARBEITER FOR "Mitarbeiter" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Mitarbeiterid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_MITARBEITERBEWEGUNG on table/view MitarbeiterBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_MITARBEITERBEWEGUNG FOR "MitarbeiterBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_MitarbeiterBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_NOTFALLPROTOKOLLEINTRAG on table/view NotfallProtokolleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_NOTFALLPROTOKOLLEINTRAG FOR "NotfallProtokolleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_NotfallProtokolleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSON on table/view Person
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSON FOR "Person" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Personid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSONBEWEGUNG on table/view PersonBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSONBEWEGUNG FOR "PersonBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_PersonBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSONJOURNALEINTRAG on table/view PersonJournaleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSONJOURNALEINTRAG FOR "PersonJournaleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_PersonJournaleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHUELER on table/view Schueler
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHUELER FOR "Schueler" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schuelerid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHUELERBEWEGUNG on table/view SchuelerBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHUELERBEWEGUNG FOR "SchuelerBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_SchuelerBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHULE on table/view Schule
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHULE FOR "Schule" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schuleid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHULLAUFBAHN on table/view Schullaufbahn
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHULLAUFBAHN FOR "Schullaufbahn" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schullaufbahnid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SERIALIZEDLISTENLAYOUT on table/view SerializedListenlayout
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SERIALIZEDLISTENLAYOUT FOR "SerializedListenlayout" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_SerializedListenlayoutid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_STUNDENABGABE on table/view Stundenabgabe
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_STUNDENABGABE FOR "Stundenabgabe" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Stundenabgabeid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_TEXTNOTIZ on table/view Textnotiz
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_TEXTNOTIZ FOR "Textnotiz" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Textnotizid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_UNTERRICHT on table/view Unterricht
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_UNTERRICHT FOR "Unterricht" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Unterrichtid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_UNTERRICHTSBEFAEHIGUNG on table/view Unterrichtsbefaehigung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_UNTERRICHTSBEFAEHIGUNG FOR "Unterrichtsbefaehigung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Unterrichtsbefaehigungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_USER on table/view User
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_USER FOR "User" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Userid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERFUEGBAR on table/view Verfuegbar
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERFUEGBAR FOR "Verfuegbar" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Verfuegbarid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERWALTUNGSMITARBEITER on table/view Verwaltungsmitarbeiter
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERWALTUNGSMITARBEITER FOR "Verwaltungsmitarbeiter" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Verwaltungsmitarbeiterid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERWALTUNGSMITARBEITERBEWEGU on table/view VerwaltungsmitarbeiterBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERWALTUNGSMITARBEITERBEWEGU FOR "VerwaltungsmitarbeiterBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_VerwaltungsmitarbeiterBewid, 1); END ^^
SET TERM ; ^^

@firebird-automations
Copy link
Author

Commented by: dirk wegmann (dw08)

Firebird DB which relations could not be imported into a dataset

@firebird-automations
Copy link
Author

Modified by: dirk wegmann (dw08)

Attachment: SCHULE.FDB [ 12005 ]

@firebird-automations
Copy link
Author

Modified by: dirk wegmann (dw08)

Attachment: NullReferenceException.jpg [ 12006 ]

@firebird-automations
Copy link
Author

Modified by: dirk wegmann (dw08)

description: Hi!
trying to generate a DataSet in VS2010pro via DDEX Provider with our DB leads into an Exception! I've tried a simple DB with a single comparable relation and that worked fine.
Link to the database with this issue: http://dl.dropbox.com/u/15933767/Firebird/SCHULE.FDB
Link to a screenshot of the MessageBox: http://dl.dropbox.com/u/15933767/Firebird/RelationsFailToImport.png
Connectionstring: character set=UNICODE_FSS;data source=localhost;initial catalog=C:\ProgramData\Flinky-Schule\Datenbank\SCHULE.FDB;user id=sysdba;password=masterkey
And here the DDL extract:
/*******************************************************************************
* Selected metadata objects
* -------------------------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

/*******************************************************************************
* Generators
* ----------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

CREATE GENERATOR GEN_ABWESENHEITID;
CREATE GENERATOR GEN_ADRESSEID;
CREATE GENERATOR GEN_AEFID;
CREATE GENERATOR GEN_ANHANGID;
CREATE GENERATOR GEN_ARZTID;
CREATE GENERATOR GEN_AUSGLEICHID;
CREATE GENERATOR GEN_BISHERIGESCHULEID;
CREATE GENERATOR GEN_ERZBID;
CREATE GENERATOR GEN_ERZBPERSONID;
CREATE GENERATOR GEN_EXTENSIONSCHEMAID;
CREATE GENERATOR GEN_FREMDSPRACHEID;
CREATE GENERATOR GEN_INSTITUTIONID;
CREATE GENERATOR GEN_JOURNALEINTRAGID;
CREATE GENERATOR GEN_KLASSEID;
CREATE GENERATOR GEN_KRANKENKASSEID;
CREATE GENERATOR GEN_LEHRAMTID;
CREATE GENERATOR GEN_LEHRBEFAEHIGUNGID;
CREATE GENERATOR GEN_LEHRERBEWEGUNGID;
CREATE GENERATOR GEN_LEHRERID;
CREATE GENERATOR GEN_MITARBEITERBEWEGUNGID;
CREATE GENERATOR GEN_MITARBEITERID;
CREATE GENERATOR GEN_NOTFALLPROTOKOLLEINTRAGID;
CREATE GENERATOR GEN_PERSONBEWEGUNGID;
CREATE GENERATOR GEN_PERSONID;
CREATE GENERATOR GEN_PERSONJOURNALEINTRAGID;
CREATE GENERATOR GEN_SCHUELERBEWEGUNGID;
CREATE GENERATOR GEN_SCHUELERID;
CREATE GENERATOR GEN_SCHULEID;
CREATE GENERATOR GEN_SCHULLAUFBAHNID;
CREATE GENERATOR GEN_SERIALIZEDLISTENLAYOUTID;
CREATE GENERATOR GEN_STUNDENABGABEID;
CREATE GENERATOR GEN_TEXTNOTIZID;
CREATE GENERATOR GEN_UNTERRICHTID;
CREATE GENERATOR GEN_UNTERRICHTSBEFAEHIGUNGID;
CREATE GENERATOR GEN_USERID;
CREATE GENERATOR GEN_VERFUEGBARID;
CREATE GENERATOR GEN_VERWALTUNGSMITARBEITERBEWID;
CREATE GENERATOR GEN_VERWALTUNGSMITARBEITERID;
/*******************************************************************************
* Tables
* ------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

CREATE TABLE "Abwesenheit"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"__Grund" VARCHAR( 20) COLLATE UTF8,
"VonDatum" TIMESTAMP,
"BisDatum" TIMESTAMP,
PRIMARY KEY ("id")
);
CREATE TABLE "Adresse"
(
"id" INTEGER NOT NULL,
"Strasse" VARCHAR( 50) COLLATE UTF8,
"_plz_PLZ" VARCHAR( 10) COLLATE UTF8,
"Ort" VARCHAR( 50) COLLATE UTF8,
"Ortsteil" VARCHAR( 50) COLLATE UTF8,
"Land_Bundesland" VARCHAR( 50) COLLATE UTF8,
"_fon_TelefonPrivat" VARCHAR( 100) COLLATE UTF8,
"_fon_TelefonGeschaeftlich" VARCHAR( 100) COLLATE UTF8,
"_fon_Mobiltelefon" VARCHAR( 100) COLLATE UTF8,
"_fon_Fax" VARCHAR( 100) COLLATE UTF8,
"_mail_EMail" VARCHAR( 100) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE AEF
(
"id" INTEGER NOT NULL,
"idLehrerBewegung" INTEGER,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
PRIMARY KEY ("id")
);
CREATE TABLE "Anhang"
(
"id" INTEGER NOT NULL,
"idJournaleintrag" INTEGER,
"FileType" VARCHAR( 10) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Arzt"
(
"id" INTEGER NOT NULL,
"idInstitution" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Ausgleich"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "BisherigeSchule"
(
"id" INTEGER NOT NULL,
"Schule" VARCHAR( 200) COLLATE UTF8,
"Von" TIMESTAMP,
"Bis" TIMESTAMP,
"idSchueler" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Erzb"
(
"id" INTEGER NOT NULL,
"idVater" INTEGER,
"idMutter" INTEGER,
"idSonstige" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "ErzbPerson"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "ExtensionSchema"
(
"id" INTEGER NOT NULL,
"TableName" VARCHAR( 50) COLLATE UTF8,
"Schema" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Fremdsprache"
(
"id" INTEGER NOT NULL,
"idSchuelerBewegung" INTEGER,
"__Sprache" VARCHAR( 20) COLLATE UTF8,
"__StatusFach" VARCHAR( 20) COLLATE UTF8,
"__StatusUnterrichtserteilung" VARCHAR( 20) COLLATE UTF8,
"__Folge" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Institution"
(
"id" INTEGER NOT NULL,
"Name1" VARCHAR( 50) COLLATE UTF8,
"Name2" VARCHAR( 50) COLLATE UTF8,
"idAdresse" INTEGER,
"idAnsprechpartner" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Journaleintrag"
(
"id" INTEGER NOT NULL,
"CreationTime" TIMESTAMP,
"Titel" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Klasse"
(
"id" INTEGER NOT NULL,
"Schuljahr" INTEGER,
"_ks_Stufe" INTEGER,
"Parallelkennung" VARCHAR( 5) COLLATE UTF8,
"idKlassenlehrer" INTEGER,
"__Klassenart" VARCHAR( 20) COLLATE UTF8,
"IsNichtFuerStatistik" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Krankenkasse"
(
"id" INTEGER NOT NULL,
"idInstitution" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehramt"
(
"id" INTEGER NOT NULL,
"idLehrer" INTEGER,
"__Lehramt" VARCHAR( 20) COLLATE UTF8,
"LehramtFolge" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehrbefaehigung"
(
"id" INTEGER NOT NULL,
"__Lehrbefaehigung" VARCHAR( 20) COLLATE UTF8,
"idLehrer" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehrer"
(
"id" INTEGER NOT NULL,
"idMitarbeiter" INTEGER,
"LehrerId" VARCHAR( 20) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
"__Abgangsgrund" VARCHAR( 20) COLLATE UTF8,
"Zugangsdatum" TIMESTAMP,
"__Zugangsgrund" VARCHAR( 20) COLLATE UTF8,
"__Beschaeftigungsverh_Saar" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "LehrerBewegung"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"Regelpflichtstundenzahl" DECIMAL( 9, 0),
"Pflichtstundenzahl" DECIMAL( 9, 0),
"Bezahlte_Mehrarbeit" DECIMAL( 9, 0),
"Amtsbezeichnung" VARCHAR( 50) COLLATE UTF8,
"_lpos_LehrerPosition" VARCHAR( 5) COLLATE UTF8,
"ErteilterUnterrichtPrimar" DECIMAL( 9, 0),
"ErteilterUnterrichtSchulKiGa" DECIMAL( 9, 0),
PRIMARY KEY ("id")
);
CREATE TABLE "Mitarbeiter"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"Personalnummer" VARCHAR( 30) COLLATE UTF8,
"Bezeichnung" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "MitarbeiterBewegung"
(
"id" INTEGER NOT NULL,
"idPersonBewegung" INTEGER,
"Befristet_bis" TIMESTAMP,
"__Beschaeftigungsverhaeltnis" VARCHAR( 20) COLLATE UTF8,
"__Dienstverhaeltnis" VARCHAR( 20) COLLATE UTF8,
"__Dienstherr" VARCHAR( 20) COLLATE UTF8,
"AnwesendMo" CHAR( 5) COLLATE UTF8,
"AnwesendDi" CHAR( 5) COLLATE UTF8,
"AnwesendMi" CHAR( 5) COLLATE UTF8,
"AnwesendDo" CHAR( 5) COLLATE UTF8,
"AnwesendFr" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "NotfallProtokolleintrag"
(
"id" INTEGER NOT NULL,
"CreationTime" TIMESTAMP,
"Aktion" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Person"
(
"id" INTEGER NOT NULL,
"Name" VARCHAR( 50) COLLATE UTF8,
"Vorname" VARCHAR( 50) COLLATE UTF8,
"Titel" VARCHAR( 20) COLLATE UTF8,
"_gender_Geschlecht" VARCHAR( 1) COLLATE UTF8,
"Geburtsort" VARCHAR( 50) COLLATE UTF8,
"Beruf" VARCHAR( 50) COLLATE UTF8,
"Familienstand" VARCHAR( 20) COLLATE UTF8,
"Geburtsdatum" TIMESTAMP,
"Notizen" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Geburtsname" VARCHAR( 50) COLLATE UTF8,
"Ex" CHAR( 5) COLLATE UTF8,
"AbgangsdatumNeu" TIMESTAMP,
"idAdresse" INTEGER,
"__Nationalitaet" VARCHAR( 20) COLLATE UTF8,
"__Nationalitaet2" VARCHAR( 20) COLLATE UTF8,
"__Konfession" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "PersonBewegung"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"Schuljahr" INTEGER,
"__Extension" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "PersonJournaleintrag"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"idJournaleintrag" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Schueler"
(
"id" INTEGER NOT NULL,
"idErzb" INTEGER,
"idPerson" INTEGER,
"BeginnSchulpflichtKorr" TIMESTAMP,
"BeginnSchulpflichtManuell" CHAR( 5) COLLATE UTF8,
"DatumEinschulungKorr" TIMESTAMP,
"DatumEinschulungManuell" CHAR( 5) COLLATE UTF8,
"IsVaterErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsMutterErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsSonstigeErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsVaterAnschreiben" CHAR( 5) COLLATE UTF8,
"IsMutterAnschreiben" CHAR( 5) COLLATE UTF8,
"IsSonstigeAnschreiben" CHAR( 5) COLLATE UTF8,
"SchuelerId" INTEGER,
"_hand_Haendigkeit" VARCHAR( 1) COLLATE UTF8,
"Sehbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Hoerbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Sprachbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Beeintraechtigung" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Zuzugsjahr" INTEGER,
"BetreuendeSchule" CHAR( 5) COLLATE UTF8,
"Fahrkartenschueler" CHAR( 5) COLLATE UTF8,
"Einschulungsjahr" INTEGER,
"idArzt" INTEGER,
"idKrankenkasse" INTEGER,
"__Geburtsland" VARCHAR( 20) COLLATE UTF8,
"__Wohnbundesland" VARCHAR( 20) COLLATE UTF8,
"__Wohnland" VARCHAR( 20) COLLATE UTF8,
"__Herkunft" VARCHAR( 20) COLLATE UTF8,
"__Herkunftsland" VARCHAR( 20) COLLATE UTF8,
"__Sprachkenntnis" VARCHAR( 20) COLLATE UTF8,
"__SchuelerTyp" VARCHAR( 20) COLLATE UTF8,
"__Neuzugangsart" VARCHAR( 20) COLLATE UTF8,
"ErsteZurueckstellung" TIMESTAMP,
"ZweiteZurueckstellung" TIMESTAMP,
"SKiGaVom" TIMESTAMP,
"SKiGaBis" TIMESTAMP,
"SKiGaIn" VARCHAR( 200) COLLATE UTF8,
"FreiwZurueckAm" TIMESTAMP,
"FoerderMZurueckstellung" VARCHAR( 200) COLLATE UTF8,
"LetzteKlasse" VARCHAR( 10) COLLATE UTF8,
"EintrittHiesigeSchule" TIMESTAMP,
"ZurueckgetretenKlasse" VARCHAR( 10) COLLATE UTF8,
"UeberweisungAm" TIMESTAMP,
"UeberweisungAn" VARCHAR( 200) COLLATE UTF8,
"UeberweisungIsAngekommen" CHAR( 5) COLLATE UTF8,
"BefreiungSportunterricht" VARCHAR( 200) COLLATE UTF8,
"AbmeldungReligion" VARCHAR( 200) COLLATE UTF8,
"TeilnahmeFoerdermassnahmen" VARCHAR( 200) COLLATE UTF8,
"TeilnFreiwUntVeranst" VARCHAR( 200) COLLATE UTF8,
"Stammschule" VARCHAR( 200) COLLATE UTF8,
"ZuzugVon" VARCHAR( 200) COLLATE UTF8,
"Migrationshintergrund" CHAR( 5) COLLATE UTF8,
"Kindergarten" VARCHAR( 200) COLLATE UTF8,
"Integrationsart" VARCHAR( 200) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "SchuelerBewegung"
(
"id" INTEGER NOT NULL,
"idKlasse" INTEGER,
"idPersonBewegung" INTEGER,
"__TeilnReligion" VARCHAR( 20) COLLATE UTF8,
"__Familiensprache" VARCHAR( 20) COLLATE UTF8,
"__FoerderbedarfSprache1" VARCHAR( 20) COLLATE UTF8,
"__FoerderbedarfSprache2" VARCHAR( 20) COLLATE UTF8,
"__MuttersprachlUnterricht" VARCHAR( 20) COLLATE UTF8,
"__Foerderschwerpunkt" VARCHAR( 20) COLLATE UTF8,
"__Bildungsziel" VARCHAR( 20) COLLATE UTF8,
"__Abschlussart" VARCHAR( 20) COLLATE UTF8,
"__NichtVersetzt" VARCHAR( 20) COLLATE UTF8,
"__Uebergangsart" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung1" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung2" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung3" VARCHAR( 20) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
"_ks_KlassenstufeWennKlasseNull" INTEGER,
FGTS CHAR( 5) COLLATE UTF8,
"Sprachfoerderung" CHAR( 5) COLLATE UTF8,
"KannUnterrichtNichtFolgen" CHAR( 5) COLLATE UTF8,
"FruehDeutschLernen" CHAR( 5) COLLATE UTF8,
"__Integration" VARCHAR( 20) COLLATE UTF8,
"__LRS" VARCHAR( 20) COLLATE UTF8,
"__FahrzeugArt" VARCHAR( 20) COLLATE UTF8,
"FahrzeugVon" VARCHAR( 200) COLLATE UTF8,
"FahrzeugNach" VARCHAR( 200) COLLATE UTF8,
"__FahrzeugArtFollow" VARCHAR( 20) COLLATE UTF8,
"FahrzeugVonFollow" VARCHAR( 200) COLLATE UTF8,
"FahrzeugNachFollow" VARCHAR( 200) COLLATE UTF8,
"LLS_Teilnahme" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Schule"
(
"id" INTEGER NOT NULL,
"Serial" VARCHAR( 50) COLLATE UTF8,
"DbCreationDate" TIMESTAMP,
"IsActivationPending" CHAR( 5) COLLATE UTF8,
"_guid_Guid" VARCHAR( 40) COLLATE UTF8,
"Lizenznehmer" VARCHAR( 100) COLLATE UTF8,
"LizenzSchuljahr" INTEGER,
"IsDemo" CHAR( 5) COLLATE UTF8,
"Signatur" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"__Schulnummer" VARCHAR( 20) COLLATE UTF8,
"LLS_Schule_ID" VARCHAR( 20) COLLATE UTF8,
"Schulname" VARCHAR( 100) COLLATE UTF8,
"Schulname2" VARCHAR( 100) COLLATE UTF8,
"LaufendesSchuljahr" INTEGER,
"KrankenhausName" VARCHAR( 100) COLLATE UTF8,
"KrankenhausTelefon" VARCHAR( 100) COLLATE UTF8,
"idNotfallmediziner" INTEGER,
"idAdresse" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Schullaufbahn"
(
"id" INTEGER NOT NULL,
"Schuljahr" INTEGER,
"_ks_Klassenstufe" INTEGER,
"Parallelkennung" VARCHAR( 5) COLLATE UTF8,
"Schulbesuchsjahr" INTEGER,
"idSchueler" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "SerializedListenlayout"
(
"id" INTEGER NOT NULL,
"Xml" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Name" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Stundenabgabe"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Textnotiz"
(
"id" INTEGER NOT NULL,
"idJournaleintrag" INTEGER,
"Text" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Unterricht"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Unterrichtsbefaehigung"
(
"id" INTEGER NOT NULL,
"__Unterrichtsbefaehigung" VARCHAR( 20) COLLATE UTF8,
"idLehrer" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "User"
(
"id" INTEGER NOT NULL,
"UserName" VARCHAR( 20) COLLATE UTF8,
"PasswordHash" VARCHAR( 256) COLLATE UTF8,
"PasswordCrypt" VARCHAR( 1024) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Verfuegbar"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Version"
(
"Version" INTEGER,
"ContentGuid" VARCHAR( 50) COLLATE UTF8
);
CREATE TABLE "Verwaltungsmitarbeiter"
(
"id" INTEGER NOT NULL,
"idMitarbeiter" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "VerwaltungsmitarbeiterBewegung"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"_mpos_MitarbeiterPosition" VARCHAR( 5) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
PRIMARY KEY ("id")
);
/*******************************************************************************
* Foreign Key Constraints
* -----------------------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

ALTER TABLE "Institution" ADD CONSTRAINT FKADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Institution" ADD CONSTRAINT FKANSPRECHPARTNER
FOREIGN KEY ("idAnsprechpartner") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FKERZBMUTTER
FOREIGN KEY ("idMutter") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "ErzbPerson" ADD CONSTRAINT FKERZBPERSONPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FKERZBVATER
FOREIGN KEY ("idVater") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehrer" ADD CONSTRAINT FKMITARBEITER
FOREIGN KEY ("idMitarbeiter") REFERENCES "Mitarbeiter"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Mitarbeiter" ADD CONSTRAINT FKMITARBEITERPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Person" ADD CONSTRAINT FKPERSONADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FKSCHUELERERZB
FOREIGN KEY ("idErzb") REFERENCES "Erzb"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FKSCHUELERPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Abwesenheit" ADD CONSTRAINT FK_ABWESENHEIT_MITARBEITERBEWEG
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE AEF ADD CONSTRAINT FK_AEF_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Anhang" ADD CONSTRAINT FK_ANHANG_JOURNALEINTRAG
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Arzt" ADD CONSTRAINT FK_ARZT_INSTITUTION
FOREIGN KEY ("idInstitution") REFERENCES "Institution"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Ausgleich" ADD CONSTRAINT FK_AUSGLEICH_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "BisherigeSchule" ADD CONSTRAINT FK_BISHERIGESCHULEN_SCHUELER
FOREIGN KEY ("idSchueler") REFERENCES "Schueler"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FK_ERZB_SONSTIGE
FOREIGN KEY ("idSonstige") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Fremdsprache" ADD CONSTRAINT FK_FREMDSPRACHE_SCHUELERBEWEGUN
FOREIGN KEY ("idSchuelerBewegung") REFERENCES "SchuelerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Klasse" ADD CONSTRAINT FK_KLASSE_KLASSENLEHRER
FOREIGN KEY ("idKlassenlehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Krankenkasse" ADD CONSTRAINT FK_KRANKENKASSE_INSTITUTION
FOREIGN KEY ("idInstitution") REFERENCES "Institution"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehramt" ADD CONSTRAINT FK_LEHRAMT_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehrbefaehigung" ADD CONSTRAINT FK_LEHRBEFAEHIGUNG_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "LehrerBewegung" ADD CONSTRAINT FK_LEHRERBEWEGUNG_MITARBEITERBE
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "MitarbeiterBewegung" ADD CONSTRAINT FK_MITARBEITERBEWEGUNG_PERSONBE
FOREIGN KEY ("idPersonBewegung") REFERENCES "PersonBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "PersonBewegung" ADD CONSTRAINT FK_PERSONBEWEGUNG_PERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "PersonJournaleintrag" ADD CONSTRAINT FK_PERSONJOURNALEINTRAG_JOURNAL
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE CASCADE
ON UPDATE CASCADE
;

ALTER TABLE "PersonJournaleintrag" ADD CONSTRAINT FK_PERSONJOURNALEINTRAG_PERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE CASCADE
ON UPDATE CASCADE
;

ALTER TABLE "SchuelerBewegung" ADD CONSTRAINT FK_SCHUELERBEWEGUNG_KLASSE
FOREIGN KEY ("idKlasse") REFERENCES "Klasse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "SchuelerBewegung" ADD CONSTRAINT FK_SCHUELERBEWEGUNG_PERSONBEWEG
FOREIGN KEY ("idPersonBewegung") REFERENCES "PersonBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FK_SCHUELER_ARZT
FOREIGN KEY ("idArzt") REFERENCES "Arzt"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FK_SCHUELER_KRANKENKASSE
FOREIGN KEY ("idKrankenkasse") REFERENCES "Krankenkasse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schule" ADD CONSTRAINT FK_SCHULE_ADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schule" ADD CONSTRAINT FK_SCHULE_ARZT
FOREIGN KEY ("idNotfallmediziner") REFERENCES "Arzt"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schullaufbahn" ADD CONSTRAINT FK_SCHULLAUFBAHN_SCHUELER
FOREIGN KEY ("idSchueler") REFERENCES "Schueler"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Stundenabgabe" ADD CONSTRAINT FK_STUNDENABGABE_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Textnotiz" ADD CONSTRAINT FK_TEXTNOTIZ_JOURNALEINTRAG
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Unterrichtsbefaehigung" ADD CONSTRAINT FK_UBEFAEHIGUNG_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Unterricht" ADD CONSTRAINT FK_UNTERRICHT_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Verfuegbar" ADD CONSTRAINT FK_VERFUEGBAR_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "VerwaltungsmitarbeiterBewegung" ADD CONSTRAINT FK_VERWALTUNGSMITARBEITERBEWEGU
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Verwaltungsmitarbeiter" ADD CONSTRAINT FK_VERWALTUNGSMITARBEITER_MITAR
FOREIGN KEY ("idMitarbeiter") REFERENCES "Mitarbeiter"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

/*******************************************************************************
* Triggers
* --------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

/*******************************************************************************
* Trigger BI_ABWESENHEIT on table/view Abwesenheit
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ABWESENHEIT FOR "Abwesenheit" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Abwesenheitid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ADRESSE on table/view Adresse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ADRESSE FOR "Adresse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Adresseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_AEF on table/view AEF
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_AEF FOR AEF ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_AEFid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ANHANG on table/view Anhang
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ANHANG FOR "Anhang" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Anhangid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ARZT on table/view Arzt
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ARZT FOR "Arzt" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Arztid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_AUSGLEICH on table/view Ausgleich
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_AUSGLEICH FOR "Ausgleich" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Ausgleichid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_BISHERIGESCHULE on table/view BisherigeSchule
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_BISHERIGESCHULE FOR "BisherigeSchule" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_BisherigeSchuleid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ERZB on table/view Erzb
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ERZB FOR "Erzb" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Erzbid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ERZBPERSON on table/view ErzbPerson
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ERZBPERSON FOR "ErzbPerson" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_ErzbPersonid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_EXTENSIONSCHEMA on table/view ExtensionSchema
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_EXTENSIONSCHEMA FOR "ExtensionSchema" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_ExtensionSchemaid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_FREMDSPRACHE on table/view Fremdsprache
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_FREMDSPRACHE FOR "Fremdsprache" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Fremdspracheid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_INSTITUTION on table/view Institution
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_INSTITUTION FOR "Institution" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Institutionid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_JOURNALEINTRAG on table/view Journaleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_JOURNALEINTRAG FOR "Journaleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Journaleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_KLASSE on table/view Klasse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_KLASSE FOR "Klasse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Klasseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_KRANKENKASSE on table/view Krankenkasse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_KRANKENKASSE FOR "Krankenkasse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Krankenkasseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRAMT on table/view Lehramt
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRAMT FOR "Lehramt" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehramtid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRBEFAEHIGUNG on table/view Lehrbefaehigung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRBEFAEHIGUNG FOR "Lehrbefaehigung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehrbefaehigungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRER on table/view Lehrer
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRER FOR "Lehrer" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehrerid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRERBEWEGUNG on table/view LehrerBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRERBEWEGUNG FOR "LehrerBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_LehrerBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_MITARBEITER on table/view Mitarbeiter
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_MITARBEITER FOR "Mitarbeiter" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Mitarbeiterid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_MITARBEITERBEWEGUNG on table/view MitarbeiterBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_MITARBEITERBEWEGUNG FOR "MitarbeiterBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_MitarbeiterBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_NOTFALLPROTOKOLLEINTRAG on table/view NotfallProtokolleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_NOTFALLPROTOKOLLEINTRAG FOR "NotfallProtokolleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_NotfallProtokolleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSON on table/view Person
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSON FOR "Person" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Personid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSONBEWEGUNG on table/view PersonBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSONBEWEGUNG FOR "PersonBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_PersonBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSONJOURNALEINTRAG on table/view PersonJournaleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSONJOURNALEINTRAG FOR "PersonJournaleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_PersonJournaleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHUELER on table/view Schueler
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHUELER FOR "Schueler" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schuelerid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHUELERBEWEGUNG on table/view SchuelerBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHUELERBEWEGUNG FOR "SchuelerBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_SchuelerBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHULE on table/view Schule
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHULE FOR "Schule" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schuleid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHULLAUFBAHN on table/view Schullaufbahn
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHULLAUFBAHN FOR "Schullaufbahn" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schullaufbahnid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SERIALIZEDLISTENLAYOUT on table/view SerializedListenlayout
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SERIALIZEDLISTENLAYOUT FOR "SerializedListenlayout" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_SerializedListenlayoutid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_STUNDENABGABE on table/view Stundenabgabe
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_STUNDENABGABE FOR "Stundenabgabe" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Stundenabgabeid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_TEXTNOTIZ on table/view Textnotiz
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_TEXTNOTIZ FOR "Textnotiz" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Textnotizid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_UNTERRICHT on table/view Unterricht
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_UNTERRICHT FOR "Unterricht" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Unterrichtid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_UNTERRICHTSBEFAEHIGUNG on table/view Unterrichtsbefaehigung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_UNTERRICHTSBEFAEHIGUNG FOR "Unterrichtsbefaehigung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Unterrichtsbefaehigungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_USER on table/view User
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_USER FOR "User" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Userid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERFUEGBAR on table/view Verfuegbar
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERFUEGBAR FOR "Verfuegbar" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Verfuegbarid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERWALTUNGSMITARBEITER on table/view Verwaltungsmitarbeiter
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERWALTUNGSMITARBEITER FOR "Verwaltungsmitarbeiter" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Verwaltungsmitarbeiterid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERWALTUNGSMITARBEITERBEWEGU on table/view VerwaltungsmitarbeiterBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERWALTUNGSMITARBEITERBEWEGU FOR "VerwaltungsmitarbeiterBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_VerwaltungsmitarbeiterBewid, 1); END ^^
SET TERM ; ^^

=>

Hi!
trying to generate a DataSet in VS2010pro via DDEX Provider with our DB leads into an Exception! I've tried a simple DB with a single comparable relation and that worked fine.

Connectionstring
character set=UNICODE_FSS;data source=localhost;initial catalog=C:\ProgramData\Flinky-Schule\Datenbank\SCHULE.FDB;user id=sysdba;password=masterkey

And here the DDL extract:
/*******************************************************************************
* Selected metadata objects
* -------------------------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

/*******************************************************************************
* Generators
* ----------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

CREATE GENERATOR GEN_ABWESENHEITID;
CREATE GENERATOR GEN_ADRESSEID;
CREATE GENERATOR GEN_AEFID;
CREATE GENERATOR GEN_ANHANGID;
CREATE GENERATOR GEN_ARZTID;
CREATE GENERATOR GEN_AUSGLEICHID;
CREATE GENERATOR GEN_BISHERIGESCHULEID;
CREATE GENERATOR GEN_ERZBID;
CREATE GENERATOR GEN_ERZBPERSONID;
CREATE GENERATOR GEN_EXTENSIONSCHEMAID;
CREATE GENERATOR GEN_FREMDSPRACHEID;
CREATE GENERATOR GEN_INSTITUTIONID;
CREATE GENERATOR GEN_JOURNALEINTRAGID;
CREATE GENERATOR GEN_KLASSEID;
CREATE GENERATOR GEN_KRANKENKASSEID;
CREATE GENERATOR GEN_LEHRAMTID;
CREATE GENERATOR GEN_LEHRBEFAEHIGUNGID;
CREATE GENERATOR GEN_LEHRERBEWEGUNGID;
CREATE GENERATOR GEN_LEHRERID;
CREATE GENERATOR GEN_MITARBEITERBEWEGUNGID;
CREATE GENERATOR GEN_MITARBEITERID;
CREATE GENERATOR GEN_NOTFALLPROTOKOLLEINTRAGID;
CREATE GENERATOR GEN_PERSONBEWEGUNGID;
CREATE GENERATOR GEN_PERSONID;
CREATE GENERATOR GEN_PERSONJOURNALEINTRAGID;
CREATE GENERATOR GEN_SCHUELERBEWEGUNGID;
CREATE GENERATOR GEN_SCHUELERID;
CREATE GENERATOR GEN_SCHULEID;
CREATE GENERATOR GEN_SCHULLAUFBAHNID;
CREATE GENERATOR GEN_SERIALIZEDLISTENLAYOUTID;
CREATE GENERATOR GEN_STUNDENABGABEID;
CREATE GENERATOR GEN_TEXTNOTIZID;
CREATE GENERATOR GEN_UNTERRICHTID;
CREATE GENERATOR GEN_UNTERRICHTSBEFAEHIGUNGID;
CREATE GENERATOR GEN_USERID;
CREATE GENERATOR GEN_VERFUEGBARID;
CREATE GENERATOR GEN_VERWALTUNGSMITARBEITERBEWID;
CREATE GENERATOR GEN_VERWALTUNGSMITARBEITERID;
/*******************************************************************************
* Tables
* ------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

CREATE TABLE "Abwesenheit"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"__Grund" VARCHAR( 20) COLLATE UTF8,
"VonDatum" TIMESTAMP,
"BisDatum" TIMESTAMP,
PRIMARY KEY ("id")
);
CREATE TABLE "Adresse"
(
"id" INTEGER NOT NULL,
"Strasse" VARCHAR( 50) COLLATE UTF8,
"_plz_PLZ" VARCHAR( 10) COLLATE UTF8,
"Ort" VARCHAR( 50) COLLATE UTF8,
"Ortsteil" VARCHAR( 50) COLLATE UTF8,
"Land_Bundesland" VARCHAR( 50) COLLATE UTF8,
"_fon_TelefonPrivat" VARCHAR( 100) COLLATE UTF8,
"_fon_TelefonGeschaeftlich" VARCHAR( 100) COLLATE UTF8,
"_fon_Mobiltelefon" VARCHAR( 100) COLLATE UTF8,
"_fon_Fax" VARCHAR( 100) COLLATE UTF8,
"_mail_EMail" VARCHAR( 100) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE AEF
(
"id" INTEGER NOT NULL,
"idLehrerBewegung" INTEGER,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
PRIMARY KEY ("id")
);
CREATE TABLE "Anhang"
(
"id" INTEGER NOT NULL,
"idJournaleintrag" INTEGER,
"FileType" VARCHAR( 10) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Arzt"
(
"id" INTEGER NOT NULL,
"idInstitution" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Ausgleich"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "BisherigeSchule"
(
"id" INTEGER NOT NULL,
"Schule" VARCHAR( 200) COLLATE UTF8,
"Von" TIMESTAMP,
"Bis" TIMESTAMP,
"idSchueler" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Erzb"
(
"id" INTEGER NOT NULL,
"idVater" INTEGER,
"idMutter" INTEGER,
"idSonstige" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "ErzbPerson"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "ExtensionSchema"
(
"id" INTEGER NOT NULL,
"TableName" VARCHAR( 50) COLLATE UTF8,
"Schema" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Fremdsprache"
(
"id" INTEGER NOT NULL,
"idSchuelerBewegung" INTEGER,
"__Sprache" VARCHAR( 20) COLLATE UTF8,
"__StatusFach" VARCHAR( 20) COLLATE UTF8,
"__StatusUnterrichtserteilung" VARCHAR( 20) COLLATE UTF8,
"__Folge" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Institution"
(
"id" INTEGER NOT NULL,
"Name1" VARCHAR( 50) COLLATE UTF8,
"Name2" VARCHAR( 50) COLLATE UTF8,
"idAdresse" INTEGER,
"idAnsprechpartner" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Journaleintrag"
(
"id" INTEGER NOT NULL,
"CreationTime" TIMESTAMP,
"Titel" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Klasse"
(
"id" INTEGER NOT NULL,
"Schuljahr" INTEGER,
"_ks_Stufe" INTEGER,
"Parallelkennung" VARCHAR( 5) COLLATE UTF8,
"idKlassenlehrer" INTEGER,
"__Klassenart" VARCHAR( 20) COLLATE UTF8,
"IsNichtFuerStatistik" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Krankenkasse"
(
"id" INTEGER NOT NULL,
"idInstitution" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehramt"
(
"id" INTEGER NOT NULL,
"idLehrer" INTEGER,
"__Lehramt" VARCHAR( 20) COLLATE UTF8,
"LehramtFolge" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehrbefaehigung"
(
"id" INTEGER NOT NULL,
"__Lehrbefaehigung" VARCHAR( 20) COLLATE UTF8,
"idLehrer" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Lehrer"
(
"id" INTEGER NOT NULL,
"idMitarbeiter" INTEGER,
"LehrerId" VARCHAR( 20) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
"__Abgangsgrund" VARCHAR( 20) COLLATE UTF8,
"Zugangsdatum" TIMESTAMP,
"__Zugangsgrund" VARCHAR( 20) COLLATE UTF8,
"__Beschaeftigungsverh_Saar" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "LehrerBewegung"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"Regelpflichtstundenzahl" DECIMAL( 9, 0),
"Pflichtstundenzahl" DECIMAL( 9, 0),
"Bezahlte_Mehrarbeit" DECIMAL( 9, 0),
"Amtsbezeichnung" VARCHAR( 50) COLLATE UTF8,
"_lpos_LehrerPosition" VARCHAR( 5) COLLATE UTF8,
"ErteilterUnterrichtPrimar" DECIMAL( 9, 0),
"ErteilterUnterrichtSchulKiGa" DECIMAL( 9, 0),
PRIMARY KEY ("id")
);
CREATE TABLE "Mitarbeiter"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"Personalnummer" VARCHAR( 30) COLLATE UTF8,
"Bezeichnung" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "MitarbeiterBewegung"
(
"id" INTEGER NOT NULL,
"idPersonBewegung" INTEGER,
"Befristet_bis" TIMESTAMP,
"__Beschaeftigungsverhaeltnis" VARCHAR( 20) COLLATE UTF8,
"__Dienstverhaeltnis" VARCHAR( 20) COLLATE UTF8,
"__Dienstherr" VARCHAR( 20) COLLATE UTF8,
"AnwesendMo" CHAR( 5) COLLATE UTF8,
"AnwesendDi" CHAR( 5) COLLATE UTF8,
"AnwesendMi" CHAR( 5) COLLATE UTF8,
"AnwesendDo" CHAR( 5) COLLATE UTF8,
"AnwesendFr" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "NotfallProtokolleintrag"
(
"id" INTEGER NOT NULL,
"CreationTime" TIMESTAMP,
"Aktion" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Person"
(
"id" INTEGER NOT NULL,
"Name" VARCHAR( 50) COLLATE UTF8,
"Vorname" VARCHAR( 50) COLLATE UTF8,
"Titel" VARCHAR( 20) COLLATE UTF8,
"_gender_Geschlecht" VARCHAR( 1) COLLATE UTF8,
"Geburtsort" VARCHAR( 50) COLLATE UTF8,
"Beruf" VARCHAR( 50) COLLATE UTF8,
"Familienstand" VARCHAR( 20) COLLATE UTF8,
"Geburtsdatum" TIMESTAMP,
"Notizen" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Geburtsname" VARCHAR( 50) COLLATE UTF8,
"Ex" CHAR( 5) COLLATE UTF8,
"AbgangsdatumNeu" TIMESTAMP,
"idAdresse" INTEGER,
"__Nationalitaet" VARCHAR( 20) COLLATE UTF8,
"__Nationalitaet2" VARCHAR( 20) COLLATE UTF8,
"__Konfession" VARCHAR( 20) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "PersonBewegung"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"Schuljahr" INTEGER,
"__Extension" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "PersonJournaleintrag"
(
"id" INTEGER NOT NULL,
"idPerson" INTEGER,
"idJournaleintrag" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Schueler"
(
"id" INTEGER NOT NULL,
"idErzb" INTEGER,
"idPerson" INTEGER,
"BeginnSchulpflichtKorr" TIMESTAMP,
"BeginnSchulpflichtManuell" CHAR( 5) COLLATE UTF8,
"DatumEinschulungKorr" TIMESTAMP,
"DatumEinschulungManuell" CHAR( 5) COLLATE UTF8,
"IsVaterErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsMutterErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsSonstigeErziehungsberechtigt" CHAR( 5) COLLATE UTF8,
"IsVaterAnschreiben" CHAR( 5) COLLATE UTF8,
"IsMutterAnschreiben" CHAR( 5) COLLATE UTF8,
"IsSonstigeAnschreiben" CHAR( 5) COLLATE UTF8,
"SchuelerId" INTEGER,
"_hand_Haendigkeit" VARCHAR( 1) COLLATE UTF8,
"Sehbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Hoerbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Sprachbeeintraechtigung" CHAR( 5) COLLATE UTF8,
"Beeintraechtigung" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Zuzugsjahr" INTEGER,
"BetreuendeSchule" CHAR( 5) COLLATE UTF8,
"Fahrkartenschueler" CHAR( 5) COLLATE UTF8,
"Einschulungsjahr" INTEGER,
"idArzt" INTEGER,
"idKrankenkasse" INTEGER,
"__Geburtsland" VARCHAR( 20) COLLATE UTF8,
"__Wohnbundesland" VARCHAR( 20) COLLATE UTF8,
"__Wohnland" VARCHAR( 20) COLLATE UTF8,
"__Herkunft" VARCHAR( 20) COLLATE UTF8,
"__Herkunftsland" VARCHAR( 20) COLLATE UTF8,
"__Sprachkenntnis" VARCHAR( 20) COLLATE UTF8,
"__SchuelerTyp" VARCHAR( 20) COLLATE UTF8,
"__Neuzugangsart" VARCHAR( 20) COLLATE UTF8,
"ErsteZurueckstellung" TIMESTAMP,
"ZweiteZurueckstellung" TIMESTAMP,
"SKiGaVom" TIMESTAMP,
"SKiGaBis" TIMESTAMP,
"SKiGaIn" VARCHAR( 200) COLLATE UTF8,
"FreiwZurueckAm" TIMESTAMP,
"FoerderMZurueckstellung" VARCHAR( 200) COLLATE UTF8,
"LetzteKlasse" VARCHAR( 10) COLLATE UTF8,
"EintrittHiesigeSchule" TIMESTAMP,
"ZurueckgetretenKlasse" VARCHAR( 10) COLLATE UTF8,
"UeberweisungAm" TIMESTAMP,
"UeberweisungAn" VARCHAR( 200) COLLATE UTF8,
"UeberweisungIsAngekommen" CHAR( 5) COLLATE UTF8,
"BefreiungSportunterricht" VARCHAR( 200) COLLATE UTF8,
"AbmeldungReligion" VARCHAR( 200) COLLATE UTF8,
"TeilnahmeFoerdermassnahmen" VARCHAR( 200) COLLATE UTF8,
"TeilnFreiwUntVeranst" VARCHAR( 200) COLLATE UTF8,
"Stammschule" VARCHAR( 200) COLLATE UTF8,
"ZuzugVon" VARCHAR( 200) COLLATE UTF8,
"Migrationshintergrund" CHAR( 5) COLLATE UTF8,
"Kindergarten" VARCHAR( 200) COLLATE UTF8,
"Integrationsart" VARCHAR( 200) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "SchuelerBewegung"
(
"id" INTEGER NOT NULL,
"idKlasse" INTEGER,
"idPersonBewegung" INTEGER,
"__TeilnReligion" VARCHAR( 20) COLLATE UTF8,
"__Familiensprache" VARCHAR( 20) COLLATE UTF8,
"__FoerderbedarfSprache1" VARCHAR( 20) COLLATE UTF8,
"__FoerderbedarfSprache2" VARCHAR( 20) COLLATE UTF8,
"__MuttersprachlUnterricht" VARCHAR( 20) COLLATE UTF8,
"__Foerderschwerpunkt" VARCHAR( 20) COLLATE UTF8,
"__Bildungsziel" VARCHAR( 20) COLLATE UTF8,
"__Abschlussart" VARCHAR( 20) COLLATE UTF8,
"__NichtVersetzt" VARCHAR( 20) COLLATE UTF8,
"__Uebergangsart" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung1" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung2" VARCHAR( 20) COLLATE UTF8,
"__Laufbahnempfehlung3" VARCHAR( 20) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
"_ks_KlassenstufeWennKlasseNull" INTEGER,
FGTS CHAR( 5) COLLATE UTF8,
"Sprachfoerderung" CHAR( 5) COLLATE UTF8,
"KannUnterrichtNichtFolgen" CHAR( 5) COLLATE UTF8,
"FruehDeutschLernen" CHAR( 5) COLLATE UTF8,
"__Integration" VARCHAR( 20) COLLATE UTF8,
"__LRS" VARCHAR( 20) COLLATE UTF8,
"__FahrzeugArt" VARCHAR( 20) COLLATE UTF8,
"FahrzeugVon" VARCHAR( 200) COLLATE UTF8,
"FahrzeugNach" VARCHAR( 200) COLLATE UTF8,
"__FahrzeugArtFollow" VARCHAR( 20) COLLATE UTF8,
"FahrzeugVonFollow" VARCHAR( 200) COLLATE UTF8,
"FahrzeugNachFollow" VARCHAR( 200) COLLATE UTF8,
"LLS_Teilnahme" CHAR( 5) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Schule"
(
"id" INTEGER NOT NULL,
"Serial" VARCHAR( 50) COLLATE UTF8,
"DbCreationDate" TIMESTAMP,
"IsActivationPending" CHAR( 5) COLLATE UTF8,
"_guid_Guid" VARCHAR( 40) COLLATE UTF8,
"Lizenznehmer" VARCHAR( 100) COLLATE UTF8,
"LizenzSchuljahr" INTEGER,
"IsDemo" CHAR( 5) COLLATE UTF8,
"Signatur" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"__Schulnummer" VARCHAR( 20) COLLATE UTF8,
"LLS_Schule_ID" VARCHAR( 20) COLLATE UTF8,
"Schulname" VARCHAR( 100) COLLATE UTF8,
"Schulname2" VARCHAR( 100) COLLATE UTF8,
"LaufendesSchuljahr" INTEGER,
"KrankenhausName" VARCHAR( 100) COLLATE UTF8,
"KrankenhausTelefon" VARCHAR( 100) COLLATE UTF8,
"idNotfallmediziner" INTEGER,
"idAdresse" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Schullaufbahn"
(
"id" INTEGER NOT NULL,
"Schuljahr" INTEGER,
"_ks_Klassenstufe" INTEGER,
"Parallelkennung" VARCHAR( 5) COLLATE UTF8,
"Schulbesuchsjahr" INTEGER,
"idSchueler" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "SerializedListenlayout"
(
"id" INTEGER NOT NULL,
"Xml" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
"Name" VARCHAR( 50) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Stundenabgabe"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Textnotiz"
(
"id" INTEGER NOT NULL,
"idJournaleintrag" INTEGER,
"Text" BLOB SUB_TYPE 1 SEGMENT SIZE 80,
PRIMARY KEY ("id")
);
CREATE TABLE "Unterricht"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Unterrichtsbefaehigung"
(
"id" INTEGER NOT NULL,
"__Unterrichtsbefaehigung" VARCHAR( 20) COLLATE UTF8,
"idLehrer" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "User"
(
"id" INTEGER NOT NULL,
"UserName" VARCHAR( 20) COLLATE UTF8,
"PasswordHash" VARCHAR( 256) COLLATE UTF8,
"PasswordCrypt" VARCHAR( 1024) COLLATE UTF8,
PRIMARY KEY ("id")
);
CREATE TABLE "Verfuegbar"
(
"id" INTEGER NOT NULL,
"__Art" VARCHAR( 20) COLLATE UTF8,
"Stundenzahl" DECIMAL( 9, 0),
"idLehrerBewegung" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "Version"
(
"Version" INTEGER,
"ContentGuid" VARCHAR( 50) COLLATE UTF8
);
CREATE TABLE "Verwaltungsmitarbeiter"
(
"id" INTEGER NOT NULL,
"idMitarbeiter" INTEGER,
PRIMARY KEY ("id")
);
CREATE TABLE "VerwaltungsmitarbeiterBewegung"
(
"id" INTEGER NOT NULL,
"idMitarbeiterBewegung" INTEGER,
"_mpos_MitarbeiterPosition" VARCHAR( 5) COLLATE UTF8,
"Abgangsdatum" TIMESTAMP,
PRIMARY KEY ("id")
);
/*******************************************************************************
* Foreign Key Constraints
* -----------------------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

ALTER TABLE "Institution" ADD CONSTRAINT FKADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Institution" ADD CONSTRAINT FKANSPRECHPARTNER
FOREIGN KEY ("idAnsprechpartner") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FKERZBMUTTER
FOREIGN KEY ("idMutter") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "ErzbPerson" ADD CONSTRAINT FKERZBPERSONPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FKERZBVATER
FOREIGN KEY ("idVater") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehrer" ADD CONSTRAINT FKMITARBEITER
FOREIGN KEY ("idMitarbeiter") REFERENCES "Mitarbeiter"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Mitarbeiter" ADD CONSTRAINT FKMITARBEITERPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Person" ADD CONSTRAINT FKPERSONADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FKSCHUELERERZB
FOREIGN KEY ("idErzb") REFERENCES "Erzb"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FKSCHUELERPERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Abwesenheit" ADD CONSTRAINT FK_ABWESENHEIT_MITARBEITERBEWEG
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE AEF ADD CONSTRAINT FK_AEF_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Anhang" ADD CONSTRAINT FK_ANHANG_JOURNALEINTRAG
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Arzt" ADD CONSTRAINT FK_ARZT_INSTITUTION
FOREIGN KEY ("idInstitution") REFERENCES "Institution"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Ausgleich" ADD CONSTRAINT FK_AUSGLEICH_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "BisherigeSchule" ADD CONSTRAINT FK_BISHERIGESCHULEN_SCHUELER
FOREIGN KEY ("idSchueler") REFERENCES "Schueler"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Erzb" ADD CONSTRAINT FK_ERZB_SONSTIGE
FOREIGN KEY ("idSonstige") REFERENCES "ErzbPerson"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Fremdsprache" ADD CONSTRAINT FK_FREMDSPRACHE_SCHUELERBEWEGUN
FOREIGN KEY ("idSchuelerBewegung") REFERENCES "SchuelerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Klasse" ADD CONSTRAINT FK_KLASSE_KLASSENLEHRER
FOREIGN KEY ("idKlassenlehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Krankenkasse" ADD CONSTRAINT FK_KRANKENKASSE_INSTITUTION
FOREIGN KEY ("idInstitution") REFERENCES "Institution"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehramt" ADD CONSTRAINT FK_LEHRAMT_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Lehrbefaehigung" ADD CONSTRAINT FK_LEHRBEFAEHIGUNG_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "LehrerBewegung" ADD CONSTRAINT FK_LEHRERBEWEGUNG_MITARBEITERBE
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "MitarbeiterBewegung" ADD CONSTRAINT FK_MITARBEITERBEWEGUNG_PERSONBE
FOREIGN KEY ("idPersonBewegung") REFERENCES "PersonBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "PersonBewegung" ADD CONSTRAINT FK_PERSONBEWEGUNG_PERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "PersonJournaleintrag" ADD CONSTRAINT FK_PERSONJOURNALEINTRAG_JOURNAL
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE CASCADE
ON UPDATE CASCADE
;

ALTER TABLE "PersonJournaleintrag" ADD CONSTRAINT FK_PERSONJOURNALEINTRAG_PERSON
FOREIGN KEY ("idPerson") REFERENCES "Person"
("id")
ON DELETE CASCADE
ON UPDATE CASCADE
;

ALTER TABLE "SchuelerBewegung" ADD CONSTRAINT FK_SCHUELERBEWEGUNG_KLASSE
FOREIGN KEY ("idKlasse") REFERENCES "Klasse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "SchuelerBewegung" ADD CONSTRAINT FK_SCHUELERBEWEGUNG_PERSONBEWEG
FOREIGN KEY ("idPersonBewegung") REFERENCES "PersonBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FK_SCHUELER_ARZT
FOREIGN KEY ("idArzt") REFERENCES "Arzt"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schueler" ADD CONSTRAINT FK_SCHUELER_KRANKENKASSE
FOREIGN KEY ("idKrankenkasse") REFERENCES "Krankenkasse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schule" ADD CONSTRAINT FK_SCHULE_ADRESSE
FOREIGN KEY ("idAdresse") REFERENCES "Adresse"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schule" ADD CONSTRAINT FK_SCHULE_ARZT
FOREIGN KEY ("idNotfallmediziner") REFERENCES "Arzt"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Schullaufbahn" ADD CONSTRAINT FK_SCHULLAUFBAHN_SCHUELER
FOREIGN KEY ("idSchueler") REFERENCES "Schueler"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Stundenabgabe" ADD CONSTRAINT FK_STUNDENABGABE_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Textnotiz" ADD CONSTRAINT FK_TEXTNOTIZ_JOURNALEINTRAG
FOREIGN KEY ("idJournaleintrag") REFERENCES "Journaleintrag"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Unterrichtsbefaehigung" ADD CONSTRAINT FK_UBEFAEHIGUNG_LEHRER
FOREIGN KEY ("idLehrer") REFERENCES "Lehrer"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Unterricht" ADD CONSTRAINT FK_UNTERRICHT_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Verfuegbar" ADD CONSTRAINT FK_VERFUEGBAR_LEHRERBEWEGUNG
FOREIGN KEY ("idLehrerBewegung") REFERENCES "LehrerBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "VerwaltungsmitarbeiterBewegung" ADD CONSTRAINT FK_VERWALTUNGSMITARBEITERBEWEGU
FOREIGN KEY ("idMitarbeiterBewegung") REFERENCES "MitarbeiterBewegung"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

ALTER TABLE "Verwaltungsmitarbeiter" ADD CONSTRAINT FK_VERWALTUNGSMITARBEITER_MITAR
FOREIGN KEY ("idMitarbeiter") REFERENCES "Mitarbeiter"
("id")
ON DELETE SET NULL
ON UPDATE CASCADE
;

/*******************************************************************************
* Triggers
* --------
* Extracted at 31.08.2011 15:53:18
******************************************************************************/

/*******************************************************************************
* Trigger BI_ABWESENHEIT on table/view Abwesenheit
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ABWESENHEIT FOR "Abwesenheit" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Abwesenheitid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ADRESSE on table/view Adresse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ADRESSE FOR "Adresse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Adresseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_AEF on table/view AEF
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_AEF FOR AEF ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_AEFid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ANHANG on table/view Anhang
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ANHANG FOR "Anhang" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Anhangid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ARZT on table/view Arzt
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ARZT FOR "Arzt" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Arztid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_AUSGLEICH on table/view Ausgleich
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_AUSGLEICH FOR "Ausgleich" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Ausgleichid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_BISHERIGESCHULE on table/view BisherigeSchule
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_BISHERIGESCHULE FOR "BisherigeSchule" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_BisherigeSchuleid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ERZB on table/view Erzb
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ERZB FOR "Erzb" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Erzbid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_ERZBPERSON on table/view ErzbPerson
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_ERZBPERSON FOR "ErzbPerson" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_ErzbPersonid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_EXTENSIONSCHEMA on table/view ExtensionSchema
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_EXTENSIONSCHEMA FOR "ExtensionSchema" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_ExtensionSchemaid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_FREMDSPRACHE on table/view Fremdsprache
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_FREMDSPRACHE FOR "Fremdsprache" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Fremdspracheid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_INSTITUTION on table/view Institution
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_INSTITUTION FOR "Institution" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Institutionid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_JOURNALEINTRAG on table/view Journaleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_JOURNALEINTRAG FOR "Journaleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Journaleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_KLASSE on table/view Klasse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_KLASSE FOR "Klasse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Klasseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_KRANKENKASSE on table/view Krankenkasse
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_KRANKENKASSE FOR "Krankenkasse" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Krankenkasseid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRAMT on table/view Lehramt
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRAMT FOR "Lehramt" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehramtid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRBEFAEHIGUNG on table/view Lehrbefaehigung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRBEFAEHIGUNG FOR "Lehrbefaehigung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehrbefaehigungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRER on table/view Lehrer
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRER FOR "Lehrer" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Lehrerid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_LEHRERBEWEGUNG on table/view LehrerBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_LEHRERBEWEGUNG FOR "LehrerBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_LehrerBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_MITARBEITER on table/view Mitarbeiter
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_MITARBEITER FOR "Mitarbeiter" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Mitarbeiterid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_MITARBEITERBEWEGUNG on table/view MitarbeiterBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_MITARBEITERBEWEGUNG FOR "MitarbeiterBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_MitarbeiterBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_NOTFALLPROTOKOLLEINTRAG on table/view NotfallProtokolleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_NOTFALLPROTOKOLLEINTRAG FOR "NotfallProtokolleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_NotfallProtokolleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSON on table/view Person
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSON FOR "Person" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Personid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSONBEWEGUNG on table/view PersonBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSONBEWEGUNG FOR "PersonBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_PersonBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_PERSONJOURNALEINTRAG on table/view PersonJournaleintrag
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_PERSONJOURNALEINTRAG FOR "PersonJournaleintrag" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_PersonJournaleintragid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHUELER on table/view Schueler
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHUELER FOR "Schueler" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schuelerid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHUELERBEWEGUNG on table/view SchuelerBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHUELERBEWEGUNG FOR "SchuelerBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_SchuelerBewegungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHULE on table/view Schule
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHULE FOR "Schule" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schuleid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SCHULLAUFBAHN on table/view Schullaufbahn
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SCHULLAUFBAHN FOR "Schullaufbahn" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Schullaufbahnid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_SERIALIZEDLISTENLAYOUT on table/view SerializedListenlayout
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_SERIALIZEDLISTENLAYOUT FOR "SerializedListenlayout" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_SerializedListenlayoutid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_STUNDENABGABE on table/view Stundenabgabe
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_STUNDENABGABE FOR "Stundenabgabe" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Stundenabgabeid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_TEXTNOTIZ on table/view Textnotiz
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_TEXTNOTIZ FOR "Textnotiz" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Textnotizid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_UNTERRICHT on table/view Unterricht
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_UNTERRICHT FOR "Unterricht" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Unterrichtid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_UNTERRICHTSBEFAEHIGUNG on table/view Unterrichtsbefaehigung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_UNTERRICHTSBEFAEHIGUNG FOR "Unterrichtsbefaehigung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Unterrichtsbefaehigungid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_USER on table/view User
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_USER FOR "User" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Userid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERFUEGBAR on table/view Verfuegbar
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERFUEGBAR FOR "Verfuegbar" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Verfuegbarid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERWALTUNGSMITARBEITER on table/view Verwaltungsmitarbeiter
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERWALTUNGSMITARBEITER FOR "Verwaltungsmitarbeiter" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_Verwaltungsmitarbeiterid, 1); END ^^
SET TERM ; ^^
/*******************************************************************************
* Trigger BI_VERWALTUNGSMITARBEITERBEWEGU on table/view VerwaltungsmitarbeiterBewegung
******************************************************************************/

SET TERM ^^ ;
CREATE TRIGGER BI_VERWALTUNGSMITARBEITERBEWEGU FOR "VerwaltungsmitarbeiterBewegung" ACTIVE BEFORE INSERT POSITION 0 AS
BEGIN if (NEW."id" is NULL) then NEW."id"=GEN_ID(gen_VerwaltungsmitarbeiterBewid, 1); END ^^
SET TERM ; ^^

@firebird-automations
Copy link
Author

Modified by: dirk wegmann (dw08)

environment: Win 7 pro 64Bit german, Visual Studio 2010 pro german => Win 7 pro 64Bit german, Visual Studio 2010 pro german, DDEX- Provider 2.0.5.0 (April, 2010)

@cincuranet
Copy link
Member

Closing because #1001.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants