2010-07-08 30 views

cevap

8

Dinamik SQL kullanabilirsiniz:

declare @query varchar(max) 
set @query = '' 

select @query = @query + 'UPDATE ' + name + 
      '.dbo.YourTable set value = 1 where id = 2; ' 
from master.sys.databases 
where name <> 'master' 

exec (@query) 
+0

Teşekkürler Andomar. Her bir veritabanında daha özel olması gerekebileceğinden, bu durumun benim durumum için 'sp_MSForEachDB' saklı yordamından daha uygun olduğunu düşünüyorum. Bu yöntemi kullanarak, ihtiyaç duyduğum sonuçları almak için bir döngü ve çeşitli IF koşulları oluşturabilirim. Teşekkürler. – Curt

3

her veritabanı için SQL uygulayacak olan bir belgesiz saklı yordam sp_MSForEachDB yoktur.

EXEC sp_msforeachdb 'PRINT ''?''' 

The? veritabanı adıdır.

11
EXEC sp_MSForEachDB ' Use ?; UPDATE ?.dbo.MyTable SET MyValue=999 ' 
İlgili konular