Hallo Forum,
nach einem Sotfwarewechsel muss ich Skripte auf mehreren Datenbanken einer Serverinstanz ausführen. Ich bekomme das aber nicht hin: Ich gehe mit folgendem Skript vor:
DECLARE @DB VARCHAR(50) -- DB-Name
DECLARE @befehl nvarchar(200)
DECLARE db_cursor CURSOR FOR
SELECT name FROM sys.databases
WHERE database_id in --(8)
(10,11,12,13,14,15,16,17,18,20,21,22,23,24,24)
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DB
WHILE @@FETCH_STATUS = 0
BEGIN
print @db
set @befehl = 'use [' + @DB + ']'
exec sp_executesql @befehl
-- Daten aus dem Kurskopf übernehmen
update CS_BKV_Kursbelegung set ErloesKonto_Pruefungsgebuehr =
(select ErloesKonto_Pruefungsgebuehr from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
update CS_BKV_Kursbelegung set ErloesKonto_Anmeldegebuehr =
(select ErloesKonto_Anmeldegebuehr from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
update CS_BKV_Kursbelegung set [Erloeskonto_Lernmaterial] =
(select [Erloeskonto_Lernmaterial] from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
update CS_BKV_Kursbelegung set [Erloeskonto_Seminargebuehr] =
(select [Erloeskonto_Seminargebuehr] from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
FETCH NEXT FROM db_cursor INTO @DB
END
CLOSE db_cursor
DEALLOCATE db_cursor
scheinbar läuft aber alles nur auf der ersten DAtenbank. Wo habe ich hier den Fehler?
Viele Grüße
Heiko Dietrich
nach einem Sotfwarewechsel muss ich Skripte auf mehreren Datenbanken einer Serverinstanz ausführen. Ich bekomme das aber nicht hin: Ich gehe mit folgendem Skript vor:
DECLARE @DB VARCHAR(50) -- DB-Name
DECLARE @befehl nvarchar(200)
DECLARE db_cursor CURSOR FOR
SELECT name FROM sys.databases
WHERE database_id in --(8)
(10,11,12,13,14,15,16,17,18,20,21,22,23,24,24)
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DB
WHILE @@FETCH_STATUS = 0
BEGIN
print @db
set @befehl = 'use [' + @DB + ']'
exec sp_executesql @befehl
-- Daten aus dem Kurskopf übernehmen
update CS_BKV_Kursbelegung set ErloesKonto_Pruefungsgebuehr =
(select ErloesKonto_Pruefungsgebuehr from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
update CS_BKV_Kursbelegung set ErloesKonto_Anmeldegebuehr =
(select ErloesKonto_Anmeldegebuehr from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
update CS_BKV_Kursbelegung set [Erloeskonto_Lernmaterial] =
(select [Erloeskonto_Lernmaterial] from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
update CS_BKV_Kursbelegung set [Erloeskonto_Seminargebuehr] =
(select [Erloeskonto_Seminargebuehr] from CS_BKV_Kurse
where CS_BKV_Kurse.ID = CS_BKV_Kursbelegung.KursID)
FETCH NEXT FROM db_cursor INTO @DB
END
CLOSE db_cursor
DEALLOCATE db_cursor
scheinbar läuft aber alles nur auf der ersten DAtenbank. Wo habe ich hier den Fehler?
Viele Grüße
Heiko Dietrich