Einzelnen Beitrag anzeigen

Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.186 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Automatiach erstellte Syntax

  Alt 6. Sep 2017, 08:42
Hi zusammen

@jaenicke
Zitat:
The ATTACH DATABASE statement adds another database file to the current database connection.
Sag ich doch...

Was also macht dieses ATACH an dieser Stelle? Ist das hier gedacht, um die originale MySQL-DB und die eportierte SQLite-DB in einer Verbindung zu öffnen?
Da ich das nicht beabsichtige, brauche ichs auch nicht.

@jobo:
Zitat:
pragma foreign keys off
dient wahrscheinlich dem "entspannten" Import von Daten ohne fortwährende Berücksichtigung der foreign keys.
Nein. Ein mit Google Translation übersetztes Schnipsel aus den FAQs:
Zitat:
(22) Unterstützt SQLite Fremdschlüssel?

Ab Version 3.6.19 (2009-10-14) unterstützt SQLite Fremdschlüssel-Einschränkungen. Die Durchsetzung von Fremdschlüssel-Einschränkungen wird standardmäßig deaktiviert (für Rückwärtskompatibilität). Um die Fremdschlüssel-Zwangsvollstreckung zu aktivieren, führen Sie PRAGMA foreign_keys = ON aus oder kompilieren mit -DSQLITE_DEFAULT_FOREIGN_KEYS = 1.
Zitat:
Begin End oder Begin Commit macht aus dem ganzen eine Transaktion.
Also MySQL-intern?
Zitat:
Wenn Du beabsichtigst, einzelne Schritte in (Delphi) Funktionen zu zerlegen, macht es vielleicht nur bedingt Sinn.
Meine Strategie wäre eher Alles oder Nichts, also Ausstieg bei Fehler und alle Änderungen verschwinden automatisch.
Bei einer Initalen DB Erzeugung käme das dem Wegwerfen der sqLite Datei gleich. Wäre auch okay.
Die Frage ist hier wohl, wann das ExecSql ausgeführt wird. Von mir vorgesehen ist das ExecSql eigentlich erst ganz am Schluss auszuführen.
Zitat:
Grundsätzlich auch das kein grosses Problem - ich denke, ich packe die einzelnen Createtable-Konstrukte in jeweils eine Funktion und packe sie dann folgendermassen in meine DB-Createprozedur:
markieren
Delphi-Quellcode:
Delphi-Quellcode:
SQLSring:= Funktion1;
SQLSring:= Funktion2;
Diese Beispielsyntax wäre also eher:
Delphi-Quellcode:
SQLSring.Add:= Funktion1;
SQLSring.Add:= Funktion2;
Wenn ich die einzelnen Create Table-Konstrukte in jeweils eigene Funktionen packe, dient das lediglich meiner besseren Übersicht, abgesehen davon, dass die komplette SQL-Syntax in eine eigene Klasse/Unit ausgelagert werden könnte.
Zitat:
Im Fehlerfall wird alles(!) auf den alten Stand zurückgesetzt > Rollback statt Commit.
Das ist zwingend.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat