Ben mantıklı bir tablodaki sütunları yeniden sıralama miyim?

oy
77

Microsoft SQL Server bir tabloya bir sütun ekleyerek olsam sütun sorgularda mantıksal görüntülenir nerede, ben kontrol edebilirim?

Ben diskte sütunların fiziksel düzen ile uğraşmak istemiyorum, ama SQL Server Management Studio gibi araçlar uygun bir şekilde tablonun içeriğini listelemek böylece mümkün olduğunda ben birlikte mantıksal grup sütunları istiyoruz.

Ben tablolar için onların tasarım moduna geçmeden ve çevresindeki sütun sırasını sürükleyerek SQL Management Studio aracılığıyla yapabiliriz biliyorum, ama ben sipariş gerçekleştirebilmesi ham SQL bunu yapabilmek istiyorum komut satırından senaryosunu.

Oluştur 04/08/2008 saat 22:37
kaynak kullanıcı
Diğer dillerde...                            


8 cevaplar

oy
61

Yeni bir tablo oluşturmadan (güvenli bir şekilde) bu programlama yapamaz.

Eğer bir yeniden sıralama, yeni bir tablo oluşturmak verileri taşımak ve ardından eski tabloyu silmek ve mevcut isme yeni tabloyu yeniden adlandırmak olduğunu taahhüt ne Enterprise Manager yapar.

Eğer fiziksel düzeni değiştirmeden belli bir düzen / gruplamadaki Sütunlarınızı istiyorsanız, ne arzu olabilen bir görünüm oluşturabilirsiniz.

Cevap 04/08/2008 saat 22:54
kaynak kullanıcı

oy
35

Burada bulunan herkesin eksik ne düşünüyorsunuz, herkes ... 10'lu, 20'li ya da ülke ve dünya çapında kurulu aynı yazılım sisteminin 1000 örnekleriyle bizler bu tasarım, ticari olarak satılan yazılım başa olmasına rağmen bunu olmasıdır. Sonuç olarak, biz, zamanla sistemlerini genişletmesi yeni imkan gereklidir gibi alanları ekleyerek tabloları genişletmek ve mevcut bir tabloda aittir tespit edilen alanlar yok gibi ve gibi, alanları ekleyerek, genişleyen büyüyen bir on yıl içinde, vs tablolara .... ve daha sonra, tasarımdan bu tablolarda çalışmak için bazen ham verilere / yeni işlevsellik hataları hata ayıklamak için sorun giderme içine kazma, desteklemek zorunda .... istediğin birincil bilgi gerekmez inanılmaz ağırlaştırıcı evet kesinlikle normalize veritabanında 30-40-50 ve hatta 90 alanları ile tablolar ve duruma geldiğinde, alanların ilk avuç içinde görüyoruz.

Sık sık bu kesin nedene, bunu diledi ettik. Ancak mevcut masa ve yeniden adlandırma gelen tüm mevcut kısıtlamaları, ilişkiler, anahtarlar, endeks, vs vs vs SQL ne yaptığını tam olarak yapan bir yeni tablo için ben istediğim gibi komut dosyası oluşturma Bina, buna Ekle yazma, daha sonra bırakarak kısa geri eski adıyla "yeni" masa ve ardından okuma tüm bu anahtarlar, ilişkiler, endeks, vs vs ....

sadece sıkıcı mı, zaman alıcı beş yıl içinde ... ama, tekrar yaşanmaması gerekir ....

Bizim sistemleri, büyümeye devam genişletin ve bir tarafından tahrik sipariş wacked alanları alacak beri işin kitlesel miktarı, ancak noktasıdır ... Bu, biz bu yeteneği ihtiyacımız son kez olmayacak değerinde kadar yakın olduğunu gerek / tasarım eklemeler.

geliştiricilerin çoğunluğu tek şirket veya çok spesifik sert kutu pazarına hizmet veren bir tek sistem açısından düşünüyorum.

herhangi bir tane varsa "off-the-raf" ama önemli ölçüde ilerici tasarımcıları ve pazar uzayda gelişme liderleri her zaman yaratıcı bir çözüm isterdim ..... tekrar tekrar, bu sorunla başa çıkmak zorunda kalacaktır. Bu kolayca biraz üzerinde ilerleyin veya hatırlamak zorunda değil, benim şirket bir düzine saat haftada kurtarabilecek nereye alan kaynak veri tablosunda "olduğunu" ....

Cevap 01/02/2013 saat 01:10
kaynak kullanıcı

oy
5

Sorunuzu anlamak, sütunlar ilk döndürülen ne etkilemek istediğiniz, ikinci, üçüncü, vb mevcut sorgular, doğru mu?

Tüm sorguları ile yazılır ise SELECT * FROM TABLE- onlar SQL halinde hazırladık olarak o zaman onlar çıktı görünecektir.

Sorgularınızın ile yazılır ise SELECT Field1, Field2 FROM TABLE- o zaman SQL halinde hazırladık sırası önemli değildir.

Cevap 06/08/2008 saat 16:42
kaynak kullanıcı

oy
1
  1. Bir sorgu penceresine Senaryo mevcut tablo.
  2. Test veritabanına karşı bu komut dosyasını çalıştırın (Kullanım deyimi kaldırın)
  3. Sütun istediğiniz değişiklikleri yapmak için SSMS kullanın
  4. (Varsayılan olarak, ButtonBar kalan en ve en alttaki simge) Değişim script oluşturma tıklayın
  5. Gerçek masanın karşı bu komut dosyası kullan

Tüm senaryo gerçekten sıkıcı, kopyalar tüm verileriniz içine istenen sütun siparişleriyle ikinci tablo tablo oluşturmak orijinal tabloyu düşer ve daha sonra yerini almaya ikincil tablo yeniden adlandırır. Bu kendinizi olsa bir dağıtma komut dosyası istesin yazmayı kaydetmek gelmez.

Cevap 08/03/2016 saat 14:31
kaynak kullanıcı

oy
1

Aslında bir yolu var, ama onun sadece geçici olarak sorguda kendisi için. Örneğin,

Eğer 5 tablolar Diyelim. Tablo denirT_Testing

Ad, soyadı PhoneNumber, E-posta ve Member_ID

Bu onların kimliğini, ardından Soyadı, ardından Ad, ardından E-posta ardından Telefon listelemek istiyorum.

Sen Seç başına yapabilir.

Select Member_ID, LastName, FirstName, PhoneNumber, Email
From T_Testing

Sadece nedense ilk adından önce Show Soyad istiyorsanız aşağıdaki gibi Bunun dışında, ayrıca yapabilirsiniz:

Select LastName, *
From T_Testing

istersen yapmanız emin olun tek şey olduğunu Fonksiyonu Eğer bir nerede ve OrderBy kullanarak olacak eğer Table.Column şeklinde ifade edilmesi gerekmektedir OrderBy ya

Örnek:

Select LastName, *
From T_Testing
Order By T_Testing.LastName Desc

Bunu kendim yapmak için gerekli çünkü bunu anladım, bu yardımcı olur.

Cevap 06/11/2014 saat 18:08
kaynak kullanıcı

oy
1

Doğrudan sistem tabloları değiştirerek, SQL kullanarak yapılabilir. Örneğin, buraya bakın:

tablo Alter - aradaki yeni bir sütun ekleyin

kesinlikle gerekli olmadıkça Ancak, ben, sistem tabloları ile oynarken tavsiye etmem.

Cevap 05/10/2008 saat 21:34
kaynak kullanıcı

oy
1

Management Studio bunu yaptığında, o, karşısında her şeyi kopyalama orijinal tabloyu bırakarak ve geçici tablo yeniden adlandırma, geçici bir tablo yaratıyor. basit eşdeğer T-SQL deyimi var.

Eğer fantezi yapıyor yoksa, her zaman sizin gibi ve bu kullanmak istiyorum sırayla sütunlu tablonun bir görünüm yaratabilir?

Düzenleme: dayak!

Cevap 04/08/2008 saat 23:00
kaynak kullanıcı

oy
0

Bütün tabloyu yeniden yaratmadan sütun sırasını değiştirmek mümkün değildir. Yalnızca veritabanı birkaç örneği varsa, bunun için SSMS kullanın (tablosunu seçin ve "tasarım" tıklayabilirsiniz).

: Manuel işlemi için çok sayıda örneği var durumda, bu senaryoyu denemelisiniz https://github.com/Epaminaidos/reorder-columns

Cevap 03/09/2016 saat 10:56
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more