Anda perlu menentukan NOT NULL
secara eksplisit dalam ALTER TABLE ... ALTER COLUMN
jika tidak, defaultnya adalah mengizinkan NULL
. Ini tidak diizinkan di kolom PK.
Berikut ini berfungsi dengan baik.
CREATE TABLE p
(
ReferenceID VARCHAR(6) NOT NULL PRIMARY KEY
)
INSERT INTO p VALUES ('AAAAAA')
ALTER TABLE p ALTER COLUMN ReferenceID VARCHAR(8) NOT NULL
ketika NOT NULL
dihilangkan itu memberikan kesalahan berikut
Msg 5074, Level 16, State 1, Line 1
The object 'PK__p__E1A99A792180FB33' is dependent on column 'ReferenceID'.
Msg 4922, Level 16, State 9, Line 1
ALTER TABLE ALTER COLUMN ReferenceID failed because one or more objects access this column.
Beberapa hal yang perlu dipertimbangkan dalam pendekatan terprogram adalah Anda akan perlu membuang kunci asing apa pun yang merujuk pada ReferenceID
kolom sementara dan juga pastikan Anda tidak menyertakan NOT NULL
untuk (Non PK) ReferenceID
kolom yang saat ini adalah dapat dibatalkan.