Aşağıdaki kodu kullanarak ilgili veri tabanındaki tüm tablolarda dönebilirsiniz. Belirttiğim alanda da istediğiniz kodu yazarak işlem yapabilirsiniz.
DECLARE @Table TABLE
(
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nchar](100) NULL
)
INSERT INTO @Table([Name])
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME
DECLARE @row_id INT = 1
WHILE (@row_id <= (SELECT COUNT(1) FROM @Table))
BEGIN
--BU ARADA YAPACAĞINIZ İŞLEMLERİ YAZABİLİRSİNİZ...
SET @row_id = @row_id + 1
END
Aşağıdaki şekilde bir örnekle de yapılabilecekleri örnekleyelim;
DECLARE @Table TABLE
(
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nchar](100) NULL
)
INSERT INTO @Table([Name])
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES ORDER BY TABLE_NAME
DECLARE @row_id INT = 1
WHILE (@row_id <= (SELECT COUNT(1) FROM @Table))
BEGIN
SELECT * FROM @Table WHERE Id = @row_id
DECLARE @TableName NVARCHAR(50)
SELECT @TableName = Name FROM @Table WHERE Id = @row_id
DECLARE @com_1 NVARCHAR(250) = 'ALTER TABLE ' + @TableName + ' ADD InsertUserId INT';
DECLARE @com_2 NVARCHAR(250) = 'ALTER TABLE ' + @TableName + ' ADD UpdateUserId INT';
DECLARE @com_3 NVARCHAR(250) = 'ALTER TABLE ' + @TableName + ' ADD UpdateDate INT';
EXEC sp_executesql @com_1
EXEC sp_executesql @com_2
EXEC sp_executesql @com_3
SET @row_id = @row_id + 1
END
Gördüğünüz gibi her tablo için “InsertUserId”, “UpdateUserId” ve “UpdateDate” alanlarını ekliyoruz…