2010-01-25 15 views
7
Management Studio'da bir çift adlandırma var betik:

Garip davranış SQL Server bir sütun yeniden adlandırma SQL Server bir sütun yeniden adlandırma için bazı kod yazmak gerekir 2008

NAME1 ==> TEMPNAME ==> NAME2

BEGIN TRANSACTION 
GO 
EXECUTE sp_rename N'dbo.Table_1.columFirstName', N'Tmp_columSecondName_2', 'COLUMN' 
GO 
EXECUTE sp_rename N'dbo.Table_1.Tmp_columSecondName_2', N'columSecondName', 'COLUMN' 
GO 
ALTER TABLE dbo.Table_1 SET (LOCK_ESCALATION = TABLE) 
GO 
COMMIT 

Ama bir seferde yaptığımda, gayet iyi çalışıyor.

Neden sütun ilk olarak geçici ad olarak değiştirildi? Yeniden adlandırılan bir algoritmayı kodlarken aynı şeyi yapar mı?

Teşekkürler!

+1

Harika bir soru - Bunu da hep merak etmişimdir! –

+0

SSMS 2008 aldım - senaryoyu nasıl üretiyorsun? Seçeneği bulamıyorum .. – Blorgbeard

+1

Bir tablo tasarladıktan sonra, ana tuş düğmesinin yanındaki bir düğme etkinleşir. Bir diske sahip bir komut dosyası simgesi. Kaydettiğinizde ne olacağına dair senaryoyu almak için tıklayın. (Kaydetmeden önce tıklayın) – Peter

cevap

6

Sütun adlarını iki sütun arasında değiştirebilirsiniz. Yönetim stüdyosu, tüm sütunları geçici isimlere dönüştürerek ve daha sonra bunları son adlara yeniden adlandırarak destekler.

Blorgbeard: Tasarım Penceresi sağ tıklatma menüsünde, bir değişiklik oluşturma komut dosyası seçeneği vardır.

+2

Bu cevap olabilir, ama bana açık değil. – Peter

+2

Bu değil mi? A ve B anahtarlarına, A'dan B'ye, A'dan B'ye, TM'den B'ye, A'dan B'ye, C'den B'ye, C'ye, A'ya, A'dan B'ye, C'den A'ya, C'den B'ye, C'ye . A, B, C ile C, A, B arasında geçiş yapmak için A, B'den A'ya, C'den B'ye, TM'den C'ye A'ya ihtiyacınız vardır. Bu karmaşıklaşır, bu yüzden neden bunu yaptıklarını değil. –

+0

Tamam, şimdi anladım .. İlk önce deyimi yakalamadım. Tx. – Peter