Answered by:
oszlopsorrend (ordinal position) megváltoztatása

Question
-
Sziasztok!
Hogyan lehet utólag megváltoztatni egy tábla adott oszlopának sorrendjét sql-szkriptből?
SzL
Tuesday, November 13, 2007 12:01 PM
Answers
-
viszont nem kell megkerned a usert, hogy SSMSvel csinalja meg, Te magad megcsinalos a SSMS-dben es keres tole a scriptet (fent az ablak tetejn van ra egy gomb ami legyartja a scriptet, amit a ssms le fog futtatni)
aztan ezt a scriptet kell berakni a verzio valto scriptbe.
persze ha nagy a tabla az gaz, mert sok hely kell majd neki.
(indexek, trigerrek stb mindet megcsinalja a SSMS scriptje)
Wednesday, November 14, 2007 3:43 PM
All replies
-
Ha jól tudom sehogy. GUI-ból lehet, de ő is új táblát generál a háttérben. Scriptből szerintem új táblába tudod maximum átrakni őket a megfelelő sorrendben. De sose értettem miért is szükséges ez.
Tuesday, November 13, 2007 12:14 PM -
Nem szükséges, csak zavaró, ha a logikailag összetartozó oszlopok szanaszét vannak a táblában. Gondolom mindenkinél gyakorlat, hogy utólag rak be egy kifelejtett, vagy igényként felmerült oszlopot.
Az ssms-sel a helyére teszed te is, ugye? Csak sajnos egy verzióváltó szkript lefutása után mégsem kérhetem meg a felhasználót, hogy indítsa el az ssms-t, oszt húzogassa a helyére az újonnan felvett oszlopokat.
Amúgy hogy néz ki egy oszlopátrendezés ssms-sel? Expressem van, és nem találok eszközt benne, amivel nyomon lehetne követni. Átnevezi a régi táblát, legenerálja újra a kívánt oszlopsorrenddel, majd átpakolja a régiből az adatokat?
Amúgy ha nem érted még mindig, akkor megbeszélhetünk egy időpontot, és ingyen szétdobálom, természetesen véletlenszerűen a táblád oszlopait. (Remélem van olyan adatbázis, amit te fejlesztesz vagy felügyelsz!) Gondolom be fogsz szarni a gyönyörtől a szanaszét barmolt tábláidtól!
Pedig csak az oszlopsorrendek fognak változni, de azok nagyon!
SzL
Tuesday, November 13, 2007 12:53 PM -
Új oszlopok hozzáadása után nyilván kellemetlen, de túl sokat nem szoktam hozzáadni utólag, azt a párat meg eddig elviseltem.
Ha jól tudom SSMS először készít egy új táblát, átpakolja az adatokat aztán átnevezi a táblákat. De a kollegák majd kijavítanak.
Tuesday, November 13, 2007 1:04 PM -
Sajnos nem tudod, a studio is átmásolja.
Wednesday, November 14, 2007 10:05 AMModerator -
viszont nem kell megkerned a usert, hogy SSMSvel csinalja meg, Te magad megcsinalos a SSMS-dben es keres tole a scriptet (fent az ablak tetejn van ra egy gomb ami legyartja a scriptet, amit a ssms le fog futtatni)
aztan ezt a scriptet kell berakni a verzio valto scriptbe.
persze ha nagy a tabla az gaz, mert sok hely kell majd neki.
(indexek, trigerrek stb mindet megcsinalja a SSMS scriptje)
Wednesday, November 14, 2007 3:43 PM -
Azért ezzel vigyázzatok. A legtöbb esetben akkor is átmásolja a táblát, ha meg lehetne oldani sima alter-rel is. Én a magam részéről mindig legyártom magam az alter scriptet. (főleg majd ha megy ki éles rendszerre)Wednesday, November 14, 2007 3:46 PMModerator
-
Yesss!
Úgy látszik nincs sok kedvem a munkához, mert ezt a gombot (Generate Change Script) fel kellett volna fedeznem! Nagyon köszönöm a segítséget!
Persze ahogy Sáfár István írja, azért ezt csak módjával érdemes használni, meg vannak buktatói is. Pl. én előszeretettel titkosítom az SP-ket, triggereket, stb. Ez meg is akasztja a szkriptgenerálást.
Tehát át kell térnem arra a megoldásra, hogy a fejlesztői adatbázisokban semmit nem szabad titkosítani. (Természetesen minden sp, tr, check, view, stb, külön mappában lakik a fájlrendszeren belül, az adott rendszer egyik almappájában.)
+++
Tényleg, már meg akartam kérdezni, hogy ti hogyan küldtök ki egy verzióváltóval egy sp-t, triggert, stb., ami komoly szellemi erőfeszítések
árán jött össze ? Lényeg, hogy nem akarjátok, hogy a juzer vagy mások belelássanak vagy lenyúlják a kódot.
Bár arra is gondoltam, hogy nézzen bele akárki, nem hiszem, hogy ettől üzleti hátrányba kerülnék. Én biztos nem. Amúgy is e felé tart a világ, de valahogy belém lett kódolva a régmúlt hozdékaként, hogy a forrást azt biza nagyon védeni kell mások elöl. Na mindegy. Lényeg, hogy kíváncsi vagyok, hogy mások hogy kezelik ezt a kérdést, és ha védik a T-SQL-es kódjaikat, akkor ezt hogy oldják meg verzióváltáskor.
SzL
Wednesday, November 14, 2007 5:29 PM