T-SQL Toplu Tablo ve Views İsimlerini değiştirme

T-SQL ile toplu olarak veritabanı üzerinde kullanım dışı bırakmak istediğiniz tabloları ya da views ları aşağıdaki kodlar ile yeniden adlandırabilirsiniz.

 

3 Parametreyi kendi veritabanınıza göre şekilledirmeyi unutmayınız.

SET @temp_W=’%BuIfadeyiIcermeyenTabloIsimleri%’;

SET @temp_B=’_KullanimdisiTablolar_‘;

SET @temp_A=’VTSemasi.’+@temp_A;

sobjects.xtype = ‘V

Önemli Not: V veritabanı üzerinde ki views ları temsil eder, U ise veritabanı üzerindeki Tabloları temsil etmektedir.

 

if OBJECT_ID(‘tempdb..##OperationQueue’) is not null
BEGIN DROP TABLE ##OperationQueue END

CREATE TABLE ##OperationQueue (
id int,
TableName varchar(max),
NewTableName varchar(max),
);

DECLARE @temp_I int,
@temp_J int,
@temp_K int,
@temp_A varchar(max),
@temp_B varchar(max),
@temp_W varchar(max);

SET @temp_I=1;
SET @temp_J=1;
SET @temp_A=”;
SET @temp_W=’%BuIfadeyiIcermeyenTabloIsimleri%’;
WHILE @temp_I<=(SELECT COUNT(sobjects.name) AS lastIndex FROM sysobjects sobjects WHERE sobjects.xtype = ‘V’ AND sobjects.name NOT LIKE @temp_W)
BEGIN
SET @temp_B=’_KullanimdisiTablolar_’;
SET @temp_A=(SELECT TOP(1) t.realName FROM (SELECT TOP ( @temp_I ) @temp_I as id,sobjects.name AS realName FROM sysobjects sobjects WHERE sobjects.xtype = ‘V’ AND sobjects.name NOT LIKE @temp_W ORDER BY sobjects.name ASC) T ORDER BY T.realName DESC)
SET @temp_B=@temp_B+@temp_A;
SET @temp_A=’VTSemasi.’+@temp_A;
INSERT INTO ##OperationQueue(id,TableName,NewTableName) VALUES(@temp_I,@temp_A, @temp_B);
exec sp_rename @temp_A, @temp_B
SET @temp_I=@temp_I+1;
END
SELECT * FROM ##OperationQueue;

 

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir