Datensatz kopieren in SP

18/11/2008 - 16:42 von Lutz Uhlmann | Report spam
Hallo NG!

Ich nutze SQL-Server 2005, bin aber noch nicht so fit mit SP-Programmierung
und T-SQL.

Ich möchte in einer Stored Procedure einen Datensatz duplizieren und dabei
nur die ID und ein, zwei andere Werte àndern. Insgesamt hat die Tabelle um
die 20 Felder.
Sprich ich nehme Datensatz X einer Tabelle (ID=X, Bez=TextX) und möchte den
in Datensatz Y (ID=Y, Bez=TextY) kopieren.
Ich àndere also nur 2 Felder und die restlichen (18) kann ich vom Original
übernehmen.

Muß ich alle 20 Felder in Variablen zwischenspeichern oder kann ich
irgendwie cleverer agieren.
Denke da evtl an Cursor oder INSERT INTO ... VALUES (SELECT ... FROM ... )

Lutz
 

Lesen sie die antworten

#1 Olaf Pietsch
18/11/2008 - 17:09 | Warnen spam
Hallo Lutz,

"Lutz Uhlmann" schrieb im Newsbeitrag
news:%

Ich möchte in einer Stored Procedure einen Datensatz duplizieren und dabei
nur die ID und ein, zwei andere Werte àndern. Insgesamt hat die Tabelle um
die 20 Felder.
Sprich ich nehme Datensatz X einer Tabelle (ID=X, Bez=TextX) und möchte
den in Datensatz Y (ID=Y, Bez=TextY) kopieren.
Ich àndere also nur 2 Felder und die restlichen (18) kann ich vom Original
übernehmen.

Muß ich alle 20 Felder in Variablen zwischenspeichern oder kann ich
irgendwie cleverer agieren.
Denke da evtl an Cursor oder INSERT INTO ... VALUES (SELECT ... FROM ... )


Cursor sollte man nur dann nehmen, wenn es nicht anders geht!
Variablen brauch man m. E. dafür auch nicht.
Du hast den Ansatz bereits formuliert.
INSERT INTO dbo.y (
ID
,Bez
,spalte1
...
,spalteN
SELECT
ID
,Bez
,spalte1
...
,spalteN
FROM
dbo.x
where ...

Weitere zu Insert findest Du in der Online Hilfe:
http://msdn.microsoft.com/de-de/lib...74335.aspx

Gruß Olaf
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Blog (http://www.sqlpass.de/PASSUserBlogs...x?BlogID=3)
Regionalgruppe Köln/Bonn/Düsseldorf
(http://www.sqlpass.de/Regionalgrupp...fault.aspx)

Ähnliche fragen