[sql] positie van kolom in tabel veranderen

Pagina: 1
Acties:
  • 828 views sinds 30-01-2008
  • Reageer

  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
Is het mogelijk om via een scriptje in sql (ms sql server)
de positie van een kolom binnen een tabel aan te geven?

Ik heb in een reeks bestaande tabellen allemaal een kolom toegevoegd met daarin een (vast) percentage van een bedrag-kolom die al aanwezig was.
De nieuwe kolommen worden achteraan in de tabel toegevoegd, zoals normaal.
Nu maakt het voor gebruikers niks uit, want die kijken toch via een view en dan zet ik alles lekker waar ik wil dat hun het zien. Maar om het binnen de (redelijk grote) tabellen voor mijzelf overzichtelijk te maken om mee te werken, zou ik toch graag zien dat de kolommen Bedrag en Bedrag_perc naast elkaar komen te staan...

iemand een idee voor mij?

Leeg - Sinds 20180907


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Sleep de kolom naar de goede positie in de design mode in Enterprise Manager?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

Je kunt toch gewoon een SELECT query maken met op volgorde de velden (dan wel kollommen) zoals je ze op dat moment wilt zien met Bedrag en Bedrag_perc naast elkaar? Das toch niet zo moeilijk?

  • dominic
  • Registratie: Juli 2000
  • Laatst online: 21-08 19:07

dominic

will code for food

In de tabel syscolums de te wijzigen column opzoeken en de colorder wijzigen. Dit kan d.m.v. een query of gewoon in de enterprise manager.

[ Voor 18% gewijzigd door dominic op 22-07-2003 10:30 ]

Download my music on SoundCloud


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
wil het juist NIET met drag en drop gaan doen in Enterprise Manager,
want het gaat om een stuk of 250 tabellen...
dan maak ik liever iets waardoor ik het kan batchen... :)

Leeg - Sinds 20180907


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
dominic schreef op 22 juli 2003 @ 10:29:
In de tabel syscolums de te wijzigen column opzoeken en de colorder wijzigen. Dit kan d.m.v. een query of gewoon in de enterprise manager.
thanks hiervoor...

wat is het verschil tussen colorder en colid in syscolumns?
is dat bekend?
want in een systabel wil ik niet te veel verprutsen...

iemand dit al eens gedaan?
want de kolom moet zeg maar middenin de tabel komen.
Geef ik m dan alleen van bijv. Colorder = 20 wordt Colorder = 7
of moet ik dan ook nog alle kolommen die eerst 7 en verder waren en eentje bij? (7 -> 8, 8 -> 9... ...19->20)

niemand toevallig al een ombouwbaar voorbeeld scriptje toevallig? :P
(vannacht bijna 4u. geslapen ben nog beetje lui... :) hmm, ben altijd lui eigenlijk, maar nu nog moe ook...)

Leeg - Sinds 20180907


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Chillz schreef op 22 July 2003 @ 10:47:
wat is het verschil tussen colorder en colid in syscolumns?
is dat bekend?
want in een systabel wil ik niet te veel verprutsen...
Ik neem aan dat je genoeg verstand hebt om een tip van een onbekende op een forum niet gelijk in je productiedatabase uit te voeren?

En daarnaast kan je het ook eenvoudig uittesten.
niemand toevallig al een ombouwbaar voorbeeld scriptje toevallig?
(vannacht bijna 4u. geslapen ben nog beetje lui... hmm, ben altijd lui eigenlijk, maar nu nog moe ook...)
Ik ben nog luier. Wat heb je zelf al en wat werkt er niet?

[ Voor 52% gewijzigd door gorgi_19 op 22-07-2003 10:56 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
zeker doe ik iets niet gelijk in mn Prod.
da's bijna logisch (voor de meesten dan ej ;) )

maar dan nog ben ik nieuwsgierig wat het verschil is tussen ColOrder en ColId,
want deze zijn in mijn Syscolumns gelijk... misschien heeft ColId ook genoeg met mijn kwestie te maken dat het bruikbaar is...
gorgi_19 schreef op 22 juli 2003 @ 10:49:
Ik ben nog luier. Wat heb je zelf al en wat werkt er niet?
nog niks dus...
want ik wist niet dat ik ColOrder (en/of ColId) moest hebben...

ooit is mij wijsgemaakt dat je in (ms) SQL (server) bij het maken van de tabel de kolommen moest plaatsen en dat het verder niet meer zou kunnen...
niet echt geloofwaardig, want alles kan ergens aangepast worden (vooral voor de super-tweaker :) )
maar ik heb het ook nooit echt nodig gehad, dus nooit uitgezocht en toegepast...
en nu wist ik dus niet hoe het te doen...

[ Voor 52% gewijzigd door Chillz op 22-07-2003 11:00 ]

Leeg - Sinds 20180907


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 20-08 11:40

gorgi_19

Kruimeltjes zijn weer op :9

Chillz schreef op 22 juli 2003 @ 10:56:
maar dan nog ben ik nieuwsgierig wat het verschil is tussen ColOrder en ColId,
want deze zijn in mijn Syscolumns gelijk... misschien heeft ColId ook genoeg met mijn kwestie te maken dat het bruikbaar is...
Kijk eens naar de relaties en / of het datatype van ColID. Waarschijnlijk kan je dan zelf wel je conclusie trekken.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
ColId = smallint 2
ColOrder = smallint 2

ook de ingevulde waarde is per kolomnaam gelijk

Leeg - Sinds 20180907


  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
zijn 4 kolommen in syscolumns die op een of andere manier iets met de positie van een kolom te maken hebben denk ik... (colid, colorder, xoffset en offset... beide offsets zijn negatief maar qua getal gelijk aan colid en colorder)

wanneer ik een kolom bij Design Table verplaats door slepen,
veranderen ook al deze syskolommen gelijk mee...
moeten ze allemaal veranderd als ik via script een kolom wil verplaatsen?
en dan nog steeds, moet ik dan ook nog alle kolommen die eerst x en verder waren er eentje bij doen? (x -> x+1, x+1 -> x+2... ...x+n->x+n+1)

Leeg - Sinds 20180907


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 21-08 18:29
want het gaat om een stuk of 250 tabellen...
Wat moet je nou weer met 250 tabellen, heb je die automatisch aan laten maken o.i.d.?

Oftewel ben je niet gewoon helemaal verkeerd bezig omdat je een hele vage database layout hebt?

  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
neej,

dat klopt allemaal wel hoor...
t zijn er trouwens 336 om precies te zijn...
ik heb er eigenlijk maar 12, alleen die 12 zijn er voor 4 verschillende bedrijfsonderdelen en voor 7 jaar (12*4*7=336)

maar daar gaat het niet om...
het gaat erom dat ik die kolommen wil verplaatsen...

Leeg - Sinds 20180907


  • klinz
  • Registratie: Maart 2002
  • Laatst online: 10-08 15:44

klinz

weet van NIETS

Ik zou niet messen met die ColID's, die zijn natuurlijk uniek en worden gebruikt vanuit andere system tables. Je kunt wel een script maken dat de data in een tijdelijke tabel zet. De originele tabel DROP't, een nieuwe tabel maakt en deze nieuwe tabel vult met de inhoud van de tijdelijke table. Dit kun je heel simpel doen door een 'change script' vanuit de enterprise manager te maken.

Verwijderd

Chillz schreef op 22 July 2003 @ 13:35:
neej,

dat klopt allemaal wel hoor...
t zijn er trouwens 336 om precies te zijn...
ik heb er eigenlijk maar 12, alleen die 12 zijn er voor 4 verschillende bedrijfsonderdelen en voor 7 jaar (12*4*7=336)

maar daar gaat het niet om...
het gaat erom dat ik die kolommen wil verplaatsen...
Dat is natuurlijk, toch ook allemaal niet erg praktische. kolometje extra om een bedrijfonderdeel aan te geven was toch makkelijker geweest.

had eigenlijk ook wel in 1 of 2 tabellen gekund.
maar goed.

  • Chillz
  • Registratie: Augustus 2001
  • Laatst online: 21-08 17:47
Verwijderd schreef op 22 July 2003 @ 13:47:
Dat is natuurlijk, toch ook allemaal niet erg praktische. kolometje extra om een bedrijfonderdeel aan te geven was toch makkelijker geweest.

had eigenlijk ook wel in 1 of 2 tabellen gekund.
maar goed.
nee,
maar dit heeft dan weer met de gehele configuratie en bedrijfsstructuur te maken,
zodat het niet samen gaat

maar zoals ik al zei,
dat boeit niet
en ik heb het niet zo bepaald, ookal kon het anders, ik hoef niet te betalen voor de opslagruimte, dus mij interesseerd het niets...

het gaat ook helemaal niet om mijn database en de tabellen, maar om die ene kolom die binnen de tabellen verplaatst moet

Leeg - Sinds 20180907

Pagina: 1