View Full Version : Umstellung von DDS auf SQL
SELECT * auch nicht!!!
Gerade embedded SQL benötigt KEINE neue Umwandlung, das ist ja gerade der Vorteil (Ausnahme SELECT * ).
Mit LVLCHK(*NO) müssen auf jeden Fall die Programme gewandelt werden, die einen WRITE haben, da es sonst z.B. zu Dezimalfehlern (falscher DB-Inhalt) beim WRITE kommt.
Gerade embedded SQL benötigt KEINE neue Umwandlung, das ist ja gerade der Vorteil (Ausnahme SELECT * ).
Mit LVLCHK(*NO) müssen auf jeden Fall die Programme gewandelt werden, die einen WRITE haben, da es sonst z.B. zu Dezimalfehlern (falscher DB-Inhalt) beim WRITE kommt.
Umwandlung bei Select * ist m.E. notwendig da hierzu in der Regel eine Datenstruktur notwendig ist. (Select * into Datenstruktur) deren Aufbau erst bei erneutem Compile den Felden der Tabelle entspricht.
Gruß Joe
das ist keine Meinungsfrage, eine Datenstrukturdeklaration (extern oder auch nicht) wird zur Compiletime aufgelöst, SELECT * generiert denselben Code wie SELECT <Liste aller Felder> from blablabla, solange zur Laufzeit alles Feldweise Typverträglich ist, ist es der Runtime völlig schnurz wie die Felder mittlerweile aussehen. Das ganze funktioniert ebenfalls, wenn ich Felder in der Größe oder Skalierung ändere (schließlich kann ich in SQL ein 10 stelliges numerisches Feld ohne Nachkomma auch in ein 12 stelliges mit 4 Nachkommastellen einlesen); solange ich nicht kompiliere bleibt alles wie gehabt. Nach dem Compile werden die externen Datenstrukturen und die select * Anweisungen neu aufgelöst.
Bei SQL werden keine Buffer blind übereinander gehuddelt, da brauchts keine Löffel-Prüfung und abstellen kann man da Prüfungen schon garnicht!
mfg
Dieter Bender
Umwandlung bei Select * ist m.E. notwendig da hierzu in der Regel eine Datenstruktur notwendig ist. (Select * into Datenstruktur) deren Aufbau erst bei erneutem Compile den Felden der Tabelle entspricht.
Gruß Joe
Bei Feldtypänderungen ist auch meistens ein Recompile erforderlich, da es zur Laufzeit ggf. zu Konvertierungsproblemen kommt (insbesonders zu lang beim Lesen).
Natürlich muss man irgendwann Programme ändern, wenn man erweiterte Feldtypen oder zusätzliche Felder nutzen will. Im Unterschied zu RLA ergibt das bei SQL bei korrekter Vorgehensweise nie die Notwendigkeit von Big Bang Umstellungen; man kann das bequem in Stufen machen, wie der Bauer die Klöße isst: einen nach dem andern.
mfg
Dieter Bender
Bei Feldtypänderungen ist auch meistens ein Recompile erforderlich, da es zur Laufzeit ggf. zu Konvertierungsproblemen kommt (insbesonders zu lang beim Lesen).