Tudok logikusan átrendezése egy tábla oszlopait?

szavazat
77

Ha adok hozzá egy oszlopot a táblázat a Microsoft SQL Server, tudom irányítani, ahol az oszlop jelenik logikailag lekérdezéseket?

Nem akarom, hogy szórakozz a fizikai elrendezése oszlopok lemezen, de szeretnék logikailag oszlopokat együtt, amikor csak lehetséges, hogy eszközöket, mint az SQL Server Management Studio bejegyzés tartalmát az asztalon egy kényelmes módja.

Tudom, hogy meg tudom csinálni ezt a SQL Management Studio megy át a „design” üzemmódban táblázatok és húzza az oszlopok sorrendje körül, de szeretném, hogy képes legyen megtenni a nyers SQL, hogy tudok végre a rendelési megírt a parancssorból.

A kérdést 04/08/2008 22:37
a forrás felhasználó
Más nyelveken...                            


8 válasz

szavazat
61

Nem lehet ezt a program automatikusan (biztonságos módon, hogy az), anélkül, létrehozva egy új táblát.

Mi Enterprise Manager csinál, amikor elküld egy átrendezésére, hogy hozzon létre egy új táblát, mozgatni az adatokat, majd törölje a régit, és nevezze át az új táblázatot a meglévő nevet.

Ha azt szeretné, hogy az oszlopok egy adott sorrendben / csoportosulás megváltoztatása nélkül a fizikai rend, akkor hozzon létre egy nézetet, amely lehet, amit csak vágysz.

Válaszolt 04/08/2008 22:54
a forrás felhasználó

szavazat
35

Azt hiszem, amit itt mindenki hiányzik, hogy bár nem mindenkinek kell foglalkozni a 10-es, 20-as, vagy a 1000-es példányai ugyanazt a szoftvert telepített rendszer az egész ország és a világ ... azoknak közülünk, hogy a design a kereskedelmi forgalomban kapható szoftvert erre. Ennek eredményeként bővítjük rendszerek idővel bővíteni táblázatok hozzáadásával területeken, mint az új képességre van szükség, és mivel azok a mezők azonosítják nem tartoznak egy meglévő táblához, és mint ilyen, több mint egy évtizedes bővül, növekszik, hozzátéve területeket stb az asztalok .... majd kelljen dolgozni azokkal a táblázatokat a design, hogy támogassa, hogy néha belesüllyed a nyers adatok / hibaelhárítás debug új funkciókat hibákat .... hihetetlenül súlyosbító, hogy nem az elsődleges információt szeretne lásd az első néhány területen, ha lehet, asztalok 30-40-50 vagy akár 90 mezőket, és igen szigorúan normalizált adatbázisban.

Már sokszor kívántam, bárcsak ezt, mert ez a pontos okát. De rövid csinál pontosan mit SQL csinál, építése létrehozása Script egy új táblázat, ahogy akarom, az írás az Insert rá, akkor csökken az összes létező korlátok, kapcsolatok, kulcsok, index, stb, stb, stb a meglévő táblázat és átnevezés az „új” tábla vissza a régi nevét, majd elolvasta ezeket a kulcsokat, a kapcsolatok, index, stb, stb ....

Nem csak unalmas, időigényes, de ... öt évig, meg kell, hogy újra megtörténjen ....

Ez olyan közel ér, hogy hatalmas mennyiségű munka, de a lényeg, hogy ... nem lesz az utolsó alkalom, hogy szükség van a képesség, hiszen a rendszer tovább fog növekedni, terjeszkedni, és kap mezők wacked megrendelt hajtott szükségességét / tervezési kiegészítései.

A legtöbb fejlesztő úgy gondolja, egyetlen rendszer szempontjából, amely arra szolgál egyetlen vállalat vagy nagyon speciális kemény doboz piacon.

Az „off-the-shelf”, de jelentősen progresszív tervezők és vezetői fejlődés a piac tér mindig kell kezelni ezt a problémát, újra és újra ..... szeretnék egy kreatív megoldás, ha valaki van egy. Ez könnyen menteni a cég egy tucat órát egy héten, csak hogy ne kelljen lépjünk át, vagy emlékszik, hol „hogy” mező a forrás adattábla ....

Válaszolt 01/02/2013 01:10
a forrás felhasználó

szavazat
5

Ha jól értem a kérdést, befolyásolni kívánt oszlopokat vissza az első, második, harmadik, stb meglévő lekérdezések, igaz?

Ha minden a lekérdezések vannak írva SELECT * FROM TABLE- akkor fognak megjelenni a kimeneten vannak lefektetett SQL.

Ha a lekérdezések vannak írva SELECT Field1, Field2 FROM TABLE-, akkor a sorrendben vannak lefektetett SQL nem számít.

Válaszolt 06/08/2008 16:42
a forrás felhasználó

szavazat
1
  1. Script meglévő tábla egy lekérdezés ablakban.
  2. Ezt a szkriptet ellen egy teszt adatbázist (távolítsa el a Felhasználási kimutatás)
  3. Használja SSMS hogy az oszlop változtatásokat kell
  4. Kattintson megváltoztatását Script (bal szélső és legalsó ikon a buttonbar, alapértelmezés)
  5. Használja ezt a parancsfájlt az igazi asztal

Minden a forgatókönyv valóban létrehozunk egy második asztal asztal a kívánt oszlop megrendelések másolatát az összes adat bele, cseppek az eredeti tábla majd átnevezi másodlagos asztalt, hogy elfoglalja helyét. Ez takarít meg írásban magad mégis kellene szeretne egy telepíthető script.

Válaszolt 08/03/2016 14:31
a forrás felhasználó

szavazat
1

Van egy út, de csak átmenetileg a lekérdezés is. Például,

Tegyük fel, hogy 5 táblázatokat. Táblázat hívjákT_Testing

Keresztnév, vezetéknév, PhoneNumber, e-mail, és Member_ID

azt akarjuk, hogy sorolják fel azonosítót, akkor vezetéknevet, majd Firstname, majd a telefont, majd e-mailben.

Meg tudod csinálni, mint egy a Select.

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

Más, mint, ha csak azt a LastName előtt megjelenő, első név valamilyen okból, akkor csináld is az alábbiak szerint:

Select LastName, *
From T_Testing

Az egyetlen dolog, amit akarsz lenni abban, hogy amit csinál, hogy a OrderBy vagy Hol Function kell jelöljük Table.Column ha lesz egy Ahol vagy OrderBy

Példa:

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

Remélem, ez segít, rájöttem, mert szükség van, hogy ezt magam.

Válaszolt 06/11/2014 18:08
a forrás felhasználó

szavazat
1

Meg lehet tenni SQL, módosításával rendszer táblák közvetlenül. Például nézd itt:

Alter táblázat - Új oszlop között

Azonban én nem ajánlom játszik rendszer táblák, kivéve, ha ez feltétlenül szükséges.

Válaszolt 05/10/2008 21:34
a forrás felhasználó

szavazat
1

Amikor Management Studio csinálja, ez létrehoz egy ideiglenes táblát, másolásával, szerte, csökken az eredeti asztal és átnevezés az ideiglenes tábla. Nincs egyszerű egyenértékű T-SQL utasítást.

Ha nem divatos csinálja, akkor is mindig hozza létre a nézetet a táblázat az oszlopok sorrendjében szeretne, és használni?

Edit: megverték!

Válaszolt 04/08/2008 23:00
a forrás felhasználó

szavazat
0

Nem lehet megváltoztatni a oszlopok sorrendjének anélkül, hogy újra az egész táblát. Ha van néhány olyan eset az adatbázis csak akkor használja SSMS erre (Jelölje ki a táblázatot, majd kattintson a „design”).

Ha túl sok esetben a manuális folyamat, meg kell próbálnia ezt a forgatókönyvet: https://github.com/Epaminaidos/reorder-columns

Válaszolt 03/09/2016 10:56
a forrás felhasználó

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