2013-06-04 7 views
1

데이터베이스에서 제약 조건의 이름을 바꾸어야합니다. 현재 DB는 다음 스크립트 (샘플, 부분)에 의해 만들어집니다 :데이터베이스 이름 바꾸기

CREATE TABLE [dbo].[Table1] (
    [Column1] UNIQUEIDENTIFIER DEFAULT (newsequentialid()) NOT NULL, 
    ... 

는 지금은 [Column1]에 부착 된 기본 제약 조건의 이름을 변경해야합니다. 어떻게 할 수 있습니까? 당신이 제약 조건의 이름을 바꿀 수 있는지에 대한

+4

힌트 : 테이블에 단 하나의 기본이 가정 [? SQL 서버 제약 조건의 이름을 변경] 디폴트 이름을 찾을 ...의 –

+0

가능한 중복 (http://stackoverflow.com/questions/8712875/sql-server-rename-a-constraint) – Pondlife

답변

1

Mitch가 제안한 것처럼 자동 생성 된 기본값의 실제 이름을 찾아야합니다.

declare @Name nvarchar(50); 
select @Name = name from sys.default_constraints 
    where parent_object_id = Object_Id('dbo.table1'); 
exec sp_rename @Name, 'NewConstraintName'; 
0

,이 두 가지 방법

  • 드롭 현재의 제약은 당신이 프로 시저 sp_rename을
  • 저장 사용할 수 있습니다
  • 그들 (쉬운하지만 분명히 그것의 가능한 모든 시간) 다시 더 많은 informati이

    exec sp_rename ‘PK_1231’, 
    'PK_MyTableName', 
    'OBJECT'; 
    

    처럼

on을 참조하십시오 http://msdn.microsoft.com/en-us/library/ms188351.aspx "제약 조건 이름 바꾸기"섹션