Sletning af bit-felt i SQL2000 fejler
Prøver at køre scriptet:alter table mytable drop column myflag
Vil af med bit-feltet myflag, men det kan jeg ikke. Andre typer går det fint med. I første omgang troede jeg det havde noget med et indeks på et bit-felt (vanvittigt på et bit-felt, men min query fandt faktisk et indeks som også MSDE Manageren kunne se):
select so.id, so.name as tablename,
sc.colid, sc.name as columnname,
si.indid, si.name as indexname
from sysobjects so
join syscolumns sc on (sc.id = so.id)
join sysindexes si on (si.id = so.id)
join sysindexkeys sik on (sik.id = sc.id
and sik.colid = sc.colid
and sik.indid = si.indid)
where (so.name = :tablename)
and (sc.name = :fieldname)
Det indeks kan jeg ikke droppe og i Enterprise Manageren findes det heller ikke.
Nå men, når jeg forsøgte at droppe feltet kom følgende fejlmeddelelse:
"The object 'DM_mytable_myfield_DADADADA' is dependent on column 'myfield'
Denne record findes i SysObjects og xtypen er "D". Hvad betyder linjen og hvordan sletter jeg feltet? Det kan ikke passe jeg skal slette direkte i SysObjects, vel?