Guten Tag
ich habe das folgende Problem:
In einem Trigger habe ich ein Insert-Statement in dem ich IDs von einer Tabelle übergeben möchte, welche (die Tablle) ich in einem String definiere zb. so
SELECT @tableName = 'Adressen'
DECLARE crs INSENSITIVE CURSOR FOR (SELECT ID FROM @tablename)
FETCH NEXT FROM crs INTO @crsID
:loop
(
INSERT INTO ZusatzInfo (herkunftID) VALUES (@crsID)
)
den teil vom ID einlesen im cursoer hab ich wiefolgt gelöst
SELECT @tableName = 'Adressen'
SELECT @tableQuery = 'INSERT INTO #TempTable (ID) SELECT ID FROM ' + @Adressen
CREATE TABLE #tempTable(ID)
EXEC (@tableQuery)
DECLARE crs INSENSITIVE CURSOR FOR (SELECT * FROM #tempTable)
Gibt es eine möglichkeit den String als Tabellenname anzugeben, ohne eine temporäre Tabelle zu erstellen?
Danke im voraus
ich habe das folgende Problem:
In einem Trigger habe ich ein Insert-Statement in dem ich IDs von einer Tabelle übergeben möchte, welche (die Tablle) ich in einem String definiere zb. so
SELECT @tableName = 'Adressen'
DECLARE crs INSENSITIVE CURSOR FOR (SELECT ID FROM @tablename)
FETCH NEXT FROM crs INTO @crsID
:loop
(
INSERT INTO ZusatzInfo (herkunftID) VALUES (@crsID)
)
den teil vom ID einlesen im cursoer hab ich wiefolgt gelöst
SELECT @tableName = 'Adressen'
SELECT @tableQuery = 'INSERT INTO #TempTable (ID) SELECT ID FROM ' + @Adressen
CREATE TABLE #tempTable(ID)
EXEC (@tableQuery)
DECLARE crs INSENSITIVE CURSOR FOR (SELECT * FROM #tempTable)
Gibt es eine möglichkeit den String als Tabellenname anzugeben, ohne eine temporäre Tabelle zu erstellen?
Danke im voraus
Comment