Einzelnen Beitrag anzeigen

Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#1

ALTER wird im Script für TIBSQL nicht erkannt

  Alt 12. Feb 2006, 10:02
Datenbank: Firebird • Zugriff über: IBX 6
Hallo,
ich habe ein merkwürdiges Problem mit TIBSQL.
In einer Textdatei befindet sich folgendes Script. (Das Script wird von der IBConsole einwandfrei verarbeitet.)
SQL-Code:
CREATE TABLE "INPUT_TEST"
(
  "JAHR"   TINT ,
  "VER"   TINT ,
  "KATEGORIE"   TSTRING30 COLLATE DE_DE,
  "PARTNER"   TSTRING15 COLLATE DE_DE,
  "EMPF"   TSTRING15 COLLATE DE_DE,
  "PLANWERT"   DOUBLE PRECISION,
  "POSNR"   TSTRING30 COLLATE DE_DE,
  "BWA"   TSTRING15 COLLATE DE_DE,
  "SAISON"   TINT
);
ALTER TABLE "INPUT_TEST" ADD FOREIGN KEY ("VER") REFERENCES "VERSIONEN" ("ID") ON UPDATE CASCADE ON DELETE CASCADE;
SET TERM ^ ;


/* Triggers only will work for SQL triggers */

CREATE TRIGGER "TRG_INPUT_TEST _0" FOR "INPUT_TEST"  
ACTIVE BEFORE INSERT POSITION 0
as
begin
  if (new.ver is null) then SELECT id FROM versionen WHERE aktive=1 INTO new.ver;
end
 ^
SET TERM ;^
Mit folgendendem Code möchte ich das Script verarbeiten
Delphi-Quellcode:
procedure TFormDatasources.CreateTable(const Tablename: String);
// Über den Pararmeter Tablename soll später der Tabellenname kommen
// Hinter SystemDataprovider.DbDataprovider.Command2 verbirgt sich TIBSQL.
var
  aSQL : TStringList;
begin
  aSQL:=TStringList.Create;
  Try
    aSQL.LoadFromFile(ApplicationPath+'Datenbank\createtable.txt'); // Just for testing
    With DM do
      begin
      SystemDataprovider.DbDataprovider.Transaction2.StartTransaction;
      Try
        SystemDataprovider.DbDataprovider.Command2.SQL:=aSQL;
        SystemDataprovider.DbDataprovider.Command2.ExecQuery;
      Finally
        SystemDataprovider.DbDataprovider.Transaction2.Commit;
        end;
      end;
  Finally
    aSQL.Free;
    end;
end;
Während der Ausführung tritt dann dieser Fehler auf
Code:
Dynamic SQL Error
        SQL error code = -104'
        Token unknown - line 1' +'3, char 1'
        'ALTER'
Hat jemand dafür eine Erklärung das ALTER hier nicht bekannt ist oder evt. sogar eine Lösung?
I come from outer space to save the human race
  Mit Zitat antworten Zitat