SQL Server에서 열의 데이터 형식을 변경해야합니다. 그렇게 할 때 제약은 무엇입니까?SQL Server에서 열의 데이터 형식 변경
색인 및 기타 제약 조건을 제거해야한다는 것을 알고 있습니까?
null 체크를 제거해야합니까?
데이터 유형을 변경하기 전에 다른 사항을 확인해야합니까?
제약 조건을 제거하고 테이블을 변경 한 다음 제약 조건을 다시 추가해야합니다.
이렇게하는 것이 올바른 방법입니까? 여기 UX_1_COMPUTATION
DROP INDEX UX_1_COMPUTATION ON dbo.Computation
ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(25)
CREATE UNIQUE INDEX UX_1_COMPUTATION ON dbo.Computation (ComputationID);
Computation
는 테이블 이름이고 ComputationID
열 이름, 고유 인덱스 이름이다.
이 정보가 맞습니까? 더 이상의 열이 참여하는 composite index
, 나는 그것으로 어떻게
Update
을 처리 할 거기 그렇다면? 이러한 인덱스에는 기본 키가 아닌 기본 키 열이 포함됩니다.
나는 다음과 같은 예외를
SQL 몸값 INDEX UX_2_COMPUTATION
ON dbo.Computation
ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(10) Not Null
CREATE INDEX UX_2_COMPUTATION
ON dbo.Computation (ComputationID , ComputeGuid): The object
'PK_Computation' is dependent on column 'ComputationID '.:
Caused By: Error executing SQL DROP INDEX UX_2_COMPUTATION
ON dbo.Computation
ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(10) Not Null
CREATE INDEX UX_2_COMPUTATION
ON dbo.Computation (ComputationID , ComputeGuid): The object
'PK_Computation' is dependent on column 'ComputationID '.:
Caused By: The object 'PK_Computation' is dependent on column 'ComputationID '.
감사를 던지고있다
DROP INDEX UX_2_COMPUTATION ON dbo.Computation
ALTER TABLE dbo.Computation
ALTER COLUMN ComputationID NVARCHAR(25)
CREATE UNIQUE INDEX UX_2_COMPUTATION ON dbo.Computation (ComputationID , ComputeGuid);
다음과 같은 성명,
을 실행했을 때3210-Sam
당신이에서를 변경할 필요가 알고 도움이 될, 그리고 것이 무엇에? 전에 유형은 무엇입니까? 이후에 있어야 할 것은 무엇입니까? 이 변경은 ** nullable **'NVARCHAR (25)'열을 생성합니다 - 원하는 것입니까? –
@marc_s null이 아닌 열입니다. not null 열을 생성해야합니다. – Sam
그래서 'ALTER TABLE dbo.Computation과 같아야합니다. ALTER COLUMN ComputationID NVARCHAR (25) not null'right? 인덱스의 문법에는 아무런 문제가 없습니까? – Sam