![]() |
Datenbank: Firebird • Version: 2.0 • Zugriff über: egal, SQL-Problem
SQL-Batch will nicht
Hallo,
ich möchte mir ein Update-Tool schreiben, mit dem ich per SQL-Script Tabellenstrukturen anlegen/ändern und evtl. Vorgabedaten einfügen kann. Allerdings bekomme ich bei "stinknormalem" DDL mit anschließendem DML Probleme. Ein Versuch unter IBExpert führte zum gleichen Ergebnis, daher vermute ich, ich habe im Script etwas Elementares vergessen. Ein Beispiel:
SQL-Code:
Sieht jemand vielleicht meinen Denkfehler?
--Transaktion ist gestartet
CREATE TABLE Wuppdi(Foo VARCHAR(10)); --das funktioniert ALTER TABLE Wuppdi ADD Bar INTEGER; --das funktioniert auch INSERT INTO Wuppdi(Foo, Bar) VALUES('Blubb',10); --hier ist "INSERT" eine unbekannte Anweisung (!?) Danke im Voraus |
Re: SQL-Batch will nicht
Man muss auf jeden Fall sie Transaktion zuerst commiten.
|
Re: SQL-Batch will nicht
Also zwischen DDL und DML ein Commit?
|
Re: SQL-Batch will nicht
Ja. Denn sonst gibt es die Tabelle ja noch nicht. Lass dir mal eine Cretae-Skript von IBExpert erzeugen
|
Re: SQL-Batch will nicht
Mist, das kann u.U. zu einem undefinierten Zustand führen. Dann werde ich das Ganze doch noch ein wenig "aufblasen" müssen. Vielleicht kann ich ja vorher einen Snapshot erzeugen, zu dem ich im Fehlerfall zurückkehren könnte. Auf jeden Fall Danke :thumb:
P.S.: Eine Fehlermeldung der Art "Table does not exists" hätte mir wohl auch schon weitergeholfen, wer weiß, was Firebird da geritten hat :D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz