sp_rename (Transact-SQL) (한국어)
- 2020 년 10 월 14 일
- 읽는 데 6 분
-
- m
- c
- M
- m
- r
-
+5
적용 대상 : SQL Server (지원되는 모든 버전) Azure SQL 데이터베이스 Azure Synapse Analytics
현재 데이터베이스에서 사용자가 만든 개체의 이름을 변경합니다. . 이 개체는 테이블, 인덱스, 열, 별칭 데이터 형식 또는 Microsoft .NET Framework CLR (공용 언어 런타임) 사용자 정의 형식 일 수 있습니다.
참고
In Azure Synapse Analytics, sp_rename은 미리보기에 있으며 사용자 개체에서 COLUMN의 이름을 바꾸는 데만 사용할 수 있습니다.
주의
개체의 일부 변경 name은 스크립트와 저장 프로 시저를 손상시킬 수 있습니다. 이 문을 사용하여 저장 프로 시저, 트리거, 사용자 정의 함수 또는 뷰의 이름을 바꾸지 않는 것이 좋습니다. 대신 개체를 삭제하고 새 이름으로 다시 만듭니다.
Transact-SQL 구문 규칙
구문
인수
“object_name”
사용자 개체 또는 데이터 유형의 현재 정규화 된 또는 정규화되지 않은 이름입니다. 이름을 바꿀 개체가 테이블의 열인 경우 object_name은 table.column 또는 schema.table.column 형식이어야합니다. 이름을 바꿀 객체가 인덱스 인 경우 object_name은 table.index 또는 schema.table.index 형식이어야합니다. 이름을 바꿀 개체가 제약 조건 인 경우 object_name은 schema.constraint 형식이어야합니다.
따옴표는 정규화 된 개체가 지정된 경우에만 필요합니다. 데이터베이스 이름을 포함하여 완전한 이름이 제공되는 경우 데이터베이스 이름은 현재 데이터베이스의 이름이어야합니다. object_name은 nvarchar (776)이며 기본값은 없습니다.
“new_name”
지정된 개체의 새 이름입니다. new_name은 한 부분으로 된 이름이어야하며 식별자 규칙을 따라야합니다. newname은 sysname이며 기본값은 없습니다.
참고
트리거 이름은 # 또는 ##으로 시작할 수 없습니다.
값 | 설명 |
---|---|
COLUMN | 이름을 바꿀 열입니다. |
DATABASE | 사용자 정의 데이터베이스. 이 개체 유형은 데이터베이스 이름을 바꿀 때 필요합니다. |
INDEX | 사용자 정의 색인. 통계로 색인 이름을 바꾸면 통계 이름도 자동으로 바뀝니다. |
OBJECT | sys.objects에서 추적되는 유형의 항목. 예를 들어 OBJECT를 사용하여 제약 조건 (CHECK, FOREIGN KEY, PRIMARY / UNIQUE KEY), 사용자 테이블 및 규칙을 포함한 개체의 이름을 바꿀 수 있습니다. |
STATISTICS | 적용 대상 : SQL Server 2012 (11.x) 이상 및 Azure SQL Database. 사용자가 명시 적으로 생성하거나 인덱스를 사용하여 암시 적으로 생성 된 통계입니다. 인덱스의 통계 이름을 변경하면 인덱스의 이름도 자동으로 변경됩니다. |
USERDATATYPE | CREATE TYPE 또는 sp_addtype을 실행하여 추가 된 CLR 사용자 정의 유형. |
“COLUMN”적용 대상 : Azure Synapse Analytics
In sp_rename (미리보기 ) Azure Synapse Analytics의 경우 COLUMN은 이름을 바꿀 개체 유형이 열임을 지정하는 필수 매개 변수입니다. 기본값이없는 varchar (13)이며 항상 sp_rename (미리보기) 문에 포함되어야합니다. 비 분배 열인 경우에만 열 이름을 변경할 수 있습니다.
반환 코드 값
0 (성공) 또는 0이 아닌 숫자 (실패)
설명
SQL Server (지원되는 모든 버전)에 적용되며 Azure SQL Database
sp_rename은 PRIMARY KEY 또는 UNIQUE 제약 조건의 이름이 바뀔 때마다 연결된 인덱스의 이름을 자동으로 바꿉니다. 이름이 변경된 인덱스가 PRIMARY KEY 제약 조건에 연결된 경우 PRIMARY KEY 제약 조건도 sp_rename에 의해 자동으로 이름이 변경됩니다.
SQL Server (지원되는 모든 버전)에 적용되며 Azure SQL Database
sp_rename을 사용할 수 있습니다. 기본 및 보조 XML 인덱스의 이름을 변경합니다.
SQL Server (지원되는 모든 버전) 및 Azure SQL Database에 적용됩니다.
저장 프로 시저, 함수,보기 또는 트리거의 이름을 변경해도 해당하는 이름은 변경되지 않습니다. sys.sql_modules 카탈로그 뷰의 정의 열에 있거나 OBJECT_DEFINITION 내장 함수를 사용하여 얻은 개체입니다. 따라서 이러한 개체 유형의 이름을 바꾸는 데 sp_rename을 사용하지 않는 것이 좋습니다. 대신 새 이름으로 개체를 삭제하고 다시 만듭니다.
SQL Server (지원되는 모든 버전), Azure SQL Database 및 Azure Synapse Analytics에 적용됩니다.
테이블 또는 개체와 같은 개체 이름 바꾸기 열은 해당 개체에 대한 참조의 이름을 자동으로 바꾸지 않습니다.이름이 바뀐 개체를 참조하는 개체는 수동으로 수정해야합니다. 예를 들어 테이블 열의 이름을 바꾸고 해당 열이 트리거에서 참조되는 경우 새 열 이름을 반영하도록 트리거를 수정해야합니다. 개체 이름을 바꾸기 전에 sys.sql_expression_dependencies를 사용하여 개체에 대한 종속성을 나열하세요.
SQL Server (지원되는 모든 버전), Azure SQL Database 및 Azure Synapse Analytics에 적용됩니다.
개체 이름을 변경할 수 있습니다. 또는 현재 데이터베이스에서만 데이터 유형. 대부분의 시스템 데이터 유형 및 시스템 개체의 이름은 변경할 수 없습니다.
권한
개체, 열 및 인덱스의 이름을 바꾸려면 개체에 대한 ALTER 권한이 필요합니다. 사용자 유형의 이름을 바꾸려면 유형에 대한 CONTROL 권한이 필요합니다. 데이터베이스 이름을 바꾸려면 sysadmin 또는 dbcreator 고정 서버 역할의 멤버 자격이 필요합니다
예
A. 테이블 이름 변경
다음 예제는 iv id = “8b9b89cf44″에서 SalesTerritory
테이블의 이름을 SalesTerr
로 변경합니다. >
스키마.
B. 열 이름 바꾸기
다음 예에서는 SalesTerritory
테이블의 TerritoryID
열 이름을 .
C. 색인 이름 변경
다음 예에서는 IX_ProductVendor_VendorID
색인의 이름을 IX_VendorID
로 변경합니다.
D . 별칭 데이터 유형 이름 바꾸기
다음 예에서는 Phone
별칭 데이터 유형의 이름을 Telephone
로 바꿉니다.
E. 제약 조건 이름 바꾸기
다음 예제는 PRIMARY KEY 제약 조건, CHECK 제약 조건 및 FOREIGN KEY 제약 조건의 이름을 바꿉니다. 제약의 이름을 바꿀 때 제약이 속한 스키마를 지정해야합니다.
F. 통계 이름 바꾸기
다음 예에서는 contactMail1이라는 통계 개체를 만든 다음 sp_rename을 사용하여 통계 이름을 NewContact로 바꿉니다. 통계 이름을 바꿀 때 개체는 schema.table.statistics_name 형식으로 지정되어야합니다.
예 : Azure Synapse Analytics
G. 열 이름 변경
다음 예에서는 table1
테이블의 c1
열 이름을 .