SQL All in one [ERLEDIGT]

Alles zum SQL-Dialekt

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

SQL All in one [ERLEDIGT]

Beitrag von Manfred »

man kann doch einen SQL Befehl mit allen möglichen Dingen vermischt abschicken!? Insert, Update, Alter Table usw. Der SQL Server arbeitet den dann so wie er es für richtig hält nacheinander ab? Oder geht das nicht? Oder muß/sollte man bestimmte Befehle getrennt abschicken? Wenn ja, wie wäre dann die zu beachtende Reihenfolge?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: SQL All in one

Beitrag von Martin Altmann »

Nein.
Eine Anweisung mit Insert, eine mit Update, eine mit alter.
Kombinieren lassen sich manche auch (Update z.b. mit insert, wenn noch nicht vorhanden o.ä.)
Aber immer schön ordentlich trennen macht auch die Pflege einfacher. Schachtelanweisungen verstehst du drei Wochen später schon nicht mehr.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: SQL All in one

Beitrag von Tom »

Wenn ja, wie wäre dann die zu beachtende Reihenfolge?
Das hängt vom erwarteten Ergebnis ab. Und von der Logik, die zu ihm führen soll. Wenn ich ein Feld updaten will, das es im Moment noch nicht gibt, muss ich das ALTER TABLE vorher machen. Wenn ich ein bestehendes Feld updaten will, das später verwendet wird, um ein durch ALTER TABLE neu hinzukommendes Feld zu bestücken, kann ich's nach dem UPDATE machen. Das ist wie überall.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: SQL All in one

Beitrag von Manfred »

ok, eine gewisse Reihenfolge ist mir klar. Erst Feld anfügen, dann ändern z.B.
Aber ich habe gerade mal einen String zusammenbauen lassen und den getestet. Was auf jeden FAll wichtig scheint, ist das man mit ";" trennt, wenn man mischt. Also doch eine gewisse Vorsicht ist angesagt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: SQL All in one

Beitrag von Marcus Herz »

Ich glaub du meinst sowas:
TEXT INTO cSQL
UPDATE table set name ='nlw' where nummer = 1;
UPDATE table set name ='nlw' where nummer = 2;
UPDATE table set name ='nlw' where nummer = 3;
UPDATE table set name ='nlw' where nummer = 4;
ENDTEXT
Dann kannst du das mit einem Aufruf ausführen.

ALTER TABle mit da rein kann problematisch sein, weil die Tabelle evtl. noch gecacht ist und dewegen nicht exclusiv geöffnet werden kann.
Vor allem mit
DROP INDEX
CREATE INDEX
zusammen hat ADS immer wieder Probleme
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: SQL All in one

Beitrag von Manfred »

ich meine sowas

Code: Alles auswählen

ALTER ONLINE TABLE FAHRER  ADD DSGVO LOGICAL POSITION          7
 ADD DSGVODAT Date POSITION          8
 ADD K95BIS Date POSITION         19
 ;
 UPDATE FAHRER SET DSGVO = false
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: SQL All in one

Beitrag von Marcus Herz »

Sollte auch gehen, weil auch
ALTER ONLINE TABLE innerhalb eines Scriptes sychron ist.
Das UPDATE erfolgt erst nach dem ALTER
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Antworten