[SQL Server] Rename, Change to NOT NULL

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

  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Topicstarter
Hoi allemaal,

Ik ben bezig met het omzetten van een database, gewoon binnen SQL Server 2000. Nu gaat alles via SQL, omdat het op meerdere servers, intra en internet geupdate moet worden. Er bestaan ook meerdere verschillende versies van alles.

Nu kwam ik op het probleem dat ik een gecombineerde sleutel moest maken. Opzich geen probleem. Alleen op sommige servers mag de waarde van een van de twee kolommen NULL zijn. Dan kan ik er geen sleutel van maken. (het zal nooit null zijn.. maar het mag wel..)

Mijn eerste reactie.. dan doen we toch gewoon een modify.... maar dat ging niet.. want dat mag niet ben ik inmiddels achter..

Prima.. dan maak ik een temp kolom waarin ik al die waardes zet.. verwijder de oude kolom en remane de nieuwe (sp_rename).. Maar dat gaat ook niet goed.. aangezien die oude wel een dependent object in sysobjects heeft staan. en ik die kolom dus niet zomaar kan droppen.. En dat object in sysobjects kan ook een andere naam hebben.. dus die kan ik ook niet zomaar verwijderen..

Toen kwam ik op het idee om alleen de NOT NULL te zetten bij die kolom.. maar daar kwam ik niet uit..

Dus nu eindelijk mijn vraag: Is het mogelijk om alleen de NOT NULL te veranderen met SQL.. zonder dat er verder dingen gewijzigd worden?

[ Voor 7% gewijzigd door Jaspertje op 14-10-2003 11:50 ]


  • j_du_pee
  • Registratie: Maart 2000
  • Laatst online: 23-09-2024

j_du_pee

du pain, du vin, du pee

ja dat kan. Het is een beetje verborgen feature, maar als je zegt:
"ALTER TABLE tabel ALTER COLUMN veld INT "
waarbij int het bestaande datatype is, springt dit veld op NOT NULL :)

edit: doe dit dus wel alleen bij de goede velden, want anders kan ik je niet helpen het weer terug te zetten naar NULL..

[ Voor 28% gewijzigd door j_du_pee op 14-10-2003 11:54 ]

kaart != map && bottel != fles
Wacht op antwoord


  • Jaspertje
  • Registratie: September 2001
  • Laatst online: 12-08 16:04

Jaspertje

Max & Milo.. lief

Topicstarter
hmm wat stom dat het wertk.... nou ja.. tnx
Niet stom.. maar wel gemeen :) :P

Edit2: Bedenk me nu dat ik dit statement al x keer gebuikt heb |:( |:( |:(
Maar je moet het wel helemaal opnieuw meegeven:

SQL:
1
Alter table table Alter Column kolom int NOT NULL

[ Voor 89% gewijzigd door Jaspertje op 14-10-2003 12:20 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Je zou het ook gewoon zo kunnen doen denk ik:
code:
1
2
ALTER TABLE tabelnaam
   ALTER COLUMN veld NULL

https://fgheysels.github.io/