[MsSql] Alter table After bepaalde positie

Pagina: 1
Acties:

  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 13-05 14:23

TwoR

Gekleurde stippen

Topicstarter
Hoi, na lang zoeken op google, MSDN en GoT rest mijn niks anders dan toch maar een topic aan te maken, want ik word zo langzamerhand gek.

In MySql is het mogelijk om de volgende code uit te voeren:
code:
1
ALTER TABLE `actualiteiten` ADD `test` VARCHAR( 20 ) NOT NULL AFTER `bericht` ;
Nu wil ik hetzelfde in MsSql alleen kent MsSql volgens mij de optie AFTER niet.
Je kan in de enteprise manager alleen wel een kolom op een bepaalde positie inserten. Alleen krijg ik dit code technisch niet voor elkaar.

Dus wie helpt me uit de brand bestaat de code AFTER voor MsSql? Of kan ik dit gewoon vergeten?

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Volgens mij kun je dit gewoon vergeten.
De volgorde van je kolommen in je database maakt toch ook geen r**t uit? Zet ze in de view die je gebruikt in de volgorde die je wil hebben en je bent klaar...

edit:
Volgens mij ondersteunt de SQL standaard overigens AFTER ook niet. Dit is een extraatje in MySQL denk ik.

[ Voor 24% gewijzigd door OZ-Gump op 17-02-2005 15:25 ]

My personal website


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
Ik geloof niet dat het zo mogelijk is in MS SQL.
Wat je wel kan doen is, een tmp table aanmaken met dezelfde structuur als de huidige structuur, alle rows daarin 'kopieëren' (je kan eventueel een SELECT INTO doen), dan drop je je tabel en maak je ze opnieuw met de gewenste structuur.
Dan moet je wel nog ff je data gaan terugzetten.

Dat kan je met een paar lijntjes code doen.

code:
1
2
3
4
5
6
7
8
SELECT * INTO #tmpBliep FROM tabel

DROP tabel

CREATE tabel ( .... )

INSERT INTO tabel (veld, veld, nieuwveld, veld)
SELECT veld, veld, NULL, veld FROM #tmpBliep



(Echter, waarom is de volgorde van de columns zo belangrijk voor je ? )

[ Voor 20% gewijzigd door whoami op 17-02-2005 15:27 ]

https://fgheysels.github.io/


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 13-05 14:23

TwoR

Gekleurde stippen

Topicstarter
OZ-Gump schreef op donderdag 17 februari 2005 @ 15:23:
Volgens mij kun je dit gewoon vergeten.
De volgorde van je kolommen in je database maakt toch ook geen r**t uit? Zet ze in de view die je gebruikt in de volgorde die je wil hebben en je bent klaar...

edit:
Volgens mij ondersteunt de SQL standaard overigens AFTER ook niet. Dit is een extraatje in MySQL denk ik.
het maakt in princiepe inderdaad ook niks uit alleen vind ik het netter om bij het syncen van 2 databases dit ook hetzelfde te zetten.
whoami schreef op donderdag 17 februari 2005 @ 15:26:
Echter, waarom is de volgorde van de columns zo belangrijk voor je ?
Zoals hierboven ook staat ik probeer mijn structuur in de DB overal hetzelfde te houden maar dat is niet omdat dat moet maar omdat ik dat persoonlijk netter vind. Als die namelijk overal hetzelfde is kan ik de structuur van de database namelijk 's nachts dromen dat vind ik leuk ;)

[ Voor 30% gewijzigd door TwoR op 17-02-2005 15:31 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Professionele website nodig?


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32

https://fgheysels.github.io/


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Ik ontken overigens iedere betrokkenheid bij de volgende query en de mogelijke consequenties van de kennis die ik je hiermee geef:
SQL:
1
2
3
select * from syscolumns 
where id = (select id from sysobjects where name = @tabelnaam)
order by colorder;

3 minuutjes Query Analyzer :z

Professionele website nodig?


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
curry684 schreef op donderdag 17 februari 2005 @ 16:03:
Ik ontken overigens iedere betrokkenheid bij de volgende query en de mogelijke consequenties van de kennis die ik je hiermee geef:
SQL:
1
2
3
select * from syscolumns 
where id = (select id from sysobjects where name = @tabelnaam)
order by colorder;

3 minuutjes Query Analyzer :z
:X
Dan zou ik het nog liever volgens de manier doen die ik vermeld heb; Enterprise Manager doet het ook zo. :P
Zelf in syscolumns prutsen lijkt me niet aan te raden.

Owja, in plaats van je subquery kan je ook de OBJECT_ID functie gebruiken. :P

[ Voor 7% gewijzigd door whoami op 17-02-2005 16:05 ]

https://fgheysels.github.io/


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 13-05 14:23

TwoR

Gekleurde stippen

Topicstarter
Inderdaad ik gebruik dan liever een temp tabel maar dat gaat wel weer ten koste van de performance dus ik denk dat ik het maar niet doe.

* TwoR vind het wel jammer dat er straks een mogelijkheid is dat de database niet overal 100% hetzelfde is.

Maar goed bedankt voor de antwoorden

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
TwoR schreef op donderdag 17 februari 2005 @ 16:09:
Inderdaad ik gebruik dan liever een temp tabel maar dat gaat wel weer ten koste van de performance dus ik denk dat ik het maar niet doe.
Hoezo ?
Het is slechts een one-shot operation, het is gewoon bij het hercreeëren van je tabel dat het wat tijd kan in beslag nemen, en that's it. (Ook als je het via Enterprise Mgr doet, neemt het dan wat tijd in beslag), maar daarna werkt het gewoon weer als een trein.

https://fgheysels.github.io/


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 13-05 14:23

TwoR

Gekleurde stippen

Topicstarter
whoami schreef op donderdag 17 februari 2005 @ 16:12:
[...]

Hoezo ?
Het is slechts een one-shot operation, het is gewoon bij het hercreeëren van je tabel dat het wat tijd kan in beslag nemen, en that's it. (Ook als je het via Enterprise Mgr doet, neemt het dan wat tijd in beslag), maar daarna werkt het gewoon weer als een trein.
I know, maar ik ga voor performance en dit is voor een database synchronisatie tooltje en voor mij telt elke seconde en daarom wil ik geen temp tabel aanmaken en vervolgens de table droppen en opnieuw aanmaken.

  • P_de_B
  • Registratie: Juli 2003
  • Niet online
curry684 schreef op donderdag 17 februari 2005 @ 16:03:
Ik ontken overigens iedere betrokkenheid bij de volgende query en de mogelijke consequenties van de kennis die ik je hiermee geef:
SQL:
1
2
3
select * from syscolumns 
where id = (select id from sysobjects where name = @tabelnaam)
order by colorder;

3 minuutjes Query Analyzer :z
Gebruik dan de INFORMATION_SCHEMA views, die zijn daarvoor....


Trouwens, volgens mij kun je de MASTER.syscolumns tabellen ook wel rechtstreeks updaten, dan is je column volgorder wel weer goed :P

[ Voor 14% gewijzigd door P_de_B op 17-02-2005 16:18 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

P_de_B schreef op donderdag 17 februari 2005 @ 16:17:
[...]


Gebruik dan de INFORMATION_SCHEMA views, die zijn daarvoor....
Die zijn niet updateable last time I checked, en de hint ging er juist om dat ie het met de gegeven methode wel kan doen zonder opnieuw creeren ;)
Trouwens, volgens mij kun je de MASTER.syscolumns tabellen ook wel rechtstreeks updaten, dan is je column volgorder wel weer goed :P
Wat ik dus net aangaf :) En je moet niet in Master zijn maar in de DB waar je in zit te peuteren, daar zitten de goeie column definities in de system tables.

Professionele website nodig?


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
TwoR schreef op donderdag 17 februari 2005 @ 16:16:
[...]

I know, maar ik ga voor performance en dit is voor een database synchronisatie tooltje en voor mij telt elke seconde en daarom wil ik geen temp tabel aanmaken en vervolgens de table droppen en opnieuw aanmaken.
Bedoel je dan dat eender wie maar de structuur van je DB kan aanpassen, en dat die structuur dan zomaar moet overgenomen worden op je andere server(s) ?
Trouwens, als ik van jou was, zou ik eens een testje doen met die performance. DAt zal wel zo lang niet duren hoor...

https://fgheysels.github.io/


  • P_de_B
  • Registratie: Juli 2003
  • Niet online
curry684 schreef op donderdag 17 februari 2005 @ 16:20:
[...]

Die zijn niet updateable last time I checked, en de hint ging er juist om dat ie het met de gegeven methode wel kan doen zonder opnieuw creeren ;)
Sorry, ik had jouw hint niet begrepen :)

en waarom ik master zei :?

[ Voor 7% gewijzigd door P_de_B op 17-02-2005 16:28 ]

Oops! Google Chrome could not find www.rijks%20museum.nl


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 13-05 14:23

TwoR

Gekleurde stippen

Topicstarter
whoami schreef op donderdag 17 februari 2005 @ 16:22:
Bedoel je dan dat eender wie maar de structuur van je DB kan aanpassen, en dat die structuur dan zomaar moet overgenomen worden op je andere server(s) ?
Tis een tool om als ik ergens de applicatie die gebruik maakt van de database wijzig en er een DB veld bij komt ik in 1 keer alle servers kan wijzigen en tegelijk kan synchroniseren.

Ook de laptops die de applicatie stand alone draaien moeten synchroniseren voordat ze zich weer kunnen aanmelden op de server. Op deze manier blijft alles over gelijk lopen.
Trouwens, als ik van jou was, zou ik eens een testje doen met die performance. DAt zal wel zo lang niet duren hoor...
Deze zin moest ik wel 3 keer lezen voordat ik hem helemaal snapte :o . Er moet natuurlijk staan als ik jou was, en niet als ik van jou was. Ik dacht al ik bezit mensen het zal toch niet ;)

Ik zal het eens testen en kijken hoeveel tijd het kost. Ik ben nu trouwens al wel op een andere manier bezig waarbij de volgorde geen r**t meer uitmaakt.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
TwoR schreef op donderdag 17 februari 2005 @ 16:44:
[...]

Tis een tool om als ik ergens de applicatie die gebruik maakt van de database wijzig en er een DB veld bij komt ik in 1 keer alle servers kan wijzigen en tegelijk kan synchroniseren.
Een zelfgeschreven tool ?
Wij maken hier nl. voor dat doel gebruik van de RedGate SQL Bundle.

https://fgheysels.github.io/


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 13-05 14:23

TwoR

Gekleurde stippen

Topicstarter
O die ken ik ook wel ja, heb hier een trial versie van RedGate geïnstalleerd is wel een leuke app alleen ik vind het leuk om dit soort dingen zelf te maken :)

Waarom ? Geen idee, gewoon kennis uitbreiding denk ik en daarbij kan ik het nu volledig integreren in het systeem en dat vind ik ook wel leuk
Pagina: 1