기존 열을 XML 열로 변경
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
ALTER TABLE 문은 xml 데이터 형식을 지원합니다. 예를 들어 문자열 형식 열을 xml 데이터 형식으로 변경할 수 있습니다. 이러한 경우 열에 포함된 문서는 올바른 형식이어야 합니다. 또한 열의 형식을 문자열에서 형식화된 xml로 변경하는 경우 열의 문서는 지정된 XSD 스키마에 대해 유효성을 검사합니다.
CREATE TABLE T (Col1 int primary key, Col2 nvarchar(max));
GO
INSERT INTO T
VALUES (1, '<Root><Product ProductID="1"/></Root>');
GO
ALTER TABLE T
ALTER COLUMN Col2 xml;
xml 형식 열을 형식화되지 않은 XML에서 형식화된 XML로 변경할 수 있습니다. 예:
CREATE TABLE T (Col1 int primary key, Col2 xml);
GO
INSERT INTO T
values (1, '<p1:ProductDescription ProductModelID="1"
xmlns:p1="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
</p1:ProductDescription>');
GO
-- Make it a typed xml column by specifying a schema collection.
ALTER TABLE T
ALTER COLUMN Col2 xml (Production.ProductDescriptionSchemaCollection);
참고 항목
XML 스키마 컬렉션Production.ProductDescriptionSchemaCollection
이 데이터베이스의 일부로 생성되므로 스크립트가 데이터베이스에 AdventureWorks2022
대해 AdventureWorks2022
실행됩니다.
이전 예제에서 열에 저장된 모든 인스턴스는 지정된 컬렉션의 XSD 스키마에 대해 유효성을 검사하고 입력합니다. 열에 지정된 스키마 ALTER TABLE
와 관련하여 잘못된 XML 인스턴스가 하나 이상 포함되어 있으면 문이 실패하고 형식화되지 않은 XML 열을 형식화된 XML로 변경할 수 없습니다.
참고 항목
테이블이 크면 xml 형식 열을 수정하는 데 비용이 많이 들 수 있습니다. 이는 각 문서가 올바른 형식인지 확인해야 하고 형식화된 XML의 경우 유효성을 검사해야 하기 때문입니다.
참고 항목
- 형식화된 XML에 대한 자세한 내용은 형식화된 XML 과 형식화되지 않은 XML 비교를 참조하세요.
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기