Frage zum SQL Statement. Insert's aus der Tabelle generieren.

14/03/2008 - 15:39 von Saladin | Report spam
Guten Tag zusammen,

ich war auf der Suche danach, wie ich aus einer Tabelle Insert's
generieren kann. Ich habe jetzt ein SQL Statement zusammengetüftelt.
An den Enden der Zeilen muss die Klammer geschlossen werden. Allerding
kriege ich das irgendwie nicht hin. Hier da Stamenet:

select ' INSERT INTO `loeschen` VALUES (' + '' + case when name is
null
then 'null' else '''' + name + '''' end + ',' + case when vorname is
null
then 'null' else '''' + vorname + '''' end + ',' +
case when geburtsdatum is null then 'null' else '''' + geburtsdatum
+ '''' end + ',' + case when stadt is null then 'null'
else '''' + stadt + '''' end from loeschen

Als Resultat kommt dies heraus:

INSERT INTO `loeschen` VALUES ('Muster ','Hans ','1970
','Bonn '
INSERT INTO `loeschen` VALUES ('Müller ','Monika ','1977
','Essen '
INSERT INTO `loeschen` VALUES ('Mann ','Ralf ','1980
','Düsseldorf'


Wohin muss ich im SQL Statement die Klammer ) hinsetzen. Wie kann das
Ressultat auf eine Textdatei gespeichert werden ? Besteht die
Möglichkeit die Leerstellen zwischen den Resultaten wegzukriegen ?
z.B.
'Muster ','Hans ','1970 ','Bonn '

als
'Muster','Hans','1970','Bonn'

Vielen Dank Saladin Hakverdi
 

Lesen sie die antworten

#1 Uli Münch
14/03/2008 - 16:27 | Warnen spam
Hallo Saladin,

ohne dass ich wirklich verstehe warum Du dies so machen willst.

1.)Richtig müsste das Insert-Statement so aussehen.

INSERT INTO loeschen VALUES ('Muster','Hans','1970','Bonn')

2.) Im Management-Studio auf dem Ergebnis->Rechte Maustaste 'Save Result
as...'



3.)
select ' INSERT INTO loeschen VALUES (' + '' + case when name is
null
then 'null' else '''' + RTRIM(name) + '''' end + ',' + case when vorname
is
null
then 'null' else '''' + RTRIM(vorname) + '''' end + ',' +
case when geburtsdatum is null then 'null' else '''' + RTRIM(geburtsdatum)
+ '''' end + ',' + case when stadt is null then 'null'
else '''' + RTRIM(stadt )+ ''')' end from loeschen


mfG
Uli





"Saladin" schrieb im Newsbeitrag
news:
Guten Tag zusammen,

ich war auf der Suche danach, wie ich aus einer Tabelle Insert's
generieren kann. Ich habe jetzt ein SQL Statement zusammengetüftelt.
An den Enden der Zeilen muss die Klammer geschlossen werden. Allerding
kriege ich das irgendwie nicht hin. Hier da Stamenet:

select ' INSERT INTO `loeschen` VALUES (' + '' + case when name is
null
then 'null' else '''' + name + '''' end + ',' + case when vorname is
null
then 'null' else '''' + vorname + '''' end + ',' +
case when geburtsdatum is null then 'null' else '''' + geburtsdatum
+ '''' end + ',' + case when stadt is null then 'null'
else '''' + stadt + '''' end from loeschen

Als Resultat kommt dies heraus:

INSERT INTO `loeschen` VALUES ('Muster ','Hans ','1970
','Bonn '
INSERT INTO `loeschen` VALUES ('Müller ','Monika ','1977
','Essen '
INSERT INTO `loeschen` VALUES ('Mann ','Ralf ','1980
','Düsseldorf'


Wohin muss ich im SQL Statement die Klammer ) hinsetzen. Wie kann das
Ressultat auf eine Textdatei gespeichert werden ? Besteht die
Möglichkeit die Leerstellen zwischen den Resultaten wegzukriegen ?
z.B.
'Muster ','Hans ','1970 ','Bonn '

als
'Muster','Hans','1970','Bonn'

Vielen Dank Saladin Hakverdi

Ähnliche fragen