예: HIDE 지시어 지정
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
이 예제에서는 HIDE 지시문을 사용하는 방법을 보여 줍니다. 이 지시문은 쿼리에서 반환되는 범용 테이블의 행 순서를 지정하기 위한 특성을 쿼리에서 반환하려고 하지만 최종 결과 XML 문서에서 해당 특성을 반환하지 않으려는 경우에 유용합니다.
이 쿼리는 다음 XML을 생성합니다.
<ProductModel ProdModelID="19" Name="Mountain-100">
<Summary>
<SummaryDescription>
<Summary> element from XML stored in CatalogDescription column
</SummaryDescription>
</Summary>
</ProductModel>
이 쿼리는 원하는 XML을 생성합니다. 쿼리는 열 이름에 태그 값으로 1과 2가 있는 두 열 그룹을 식별합니다.
이 쿼리는 xml 데이터 형식의 query() 메서드(xml 데이터 형식)를 사용하여 xml 형식의 CatalogDescription 열을 쿼리하여 요약 설명을 검색합니다. 또한 쿼리는 xml 데이터 형식의 value() 메서드(xml 데이터 형식)를 사용하여 CatalogDescription 열에서 ProductModelID 값을 검색합니다. 이 값은 결과 XML에는 필요하지 않지만 결과 행 집합을 정렬하는 데 필요합니다. 따라서 열 이름에는 [Summary!2!ProductModelID!HIDE]
HIDE 지시문이 포함됩니다. 이 열이 SELECT 문에 포함되지 않은 경우 행 집합 [ProductModel!1!ProdModelID]
을 기준으로 정렬해야 하며 [Summary!2!SummaryDescription]
이는 xml 형식이며 ORDER BY에서 xml 형식 열을 사용할 수 없습니다. 따라서 추가 [Summary!2!ProductModelID!HIDE]
열이 추가된 다음 ORDER BY 절에 지정됩니다.
USE AdventureWorks2022;
GO
SELECT 1 as Tag,
0 as Parent,
ProductModelID as [ProductModel!1!ProdModelID],
Name as [ProductModel!1!Name],
NULL as [Summary!2!ProductModelID!hide],
NULL as [Summary!2!SummaryDescription]
FROM Production.ProductModel
WHERE CatalogDescription is not null
UNION ALL
SELECT 2 as Tag,
1 as Parent,
ProductModelID,
Name,
CatalogDescription.value('
declare namespace PD="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
(/PD:ProductDescription/@ProductModelID)[1]', 'int'),
CatalogDescription.query('
declare namespace pd="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
/pd:ProductDescription/pd:Summary')
FROM Production.ProductModel
WHERE CatalogDescription is not null
ORDER BY [ProductModel!1!ProdModelID],[Summary!2!ProductModelID!hide]
FOR XML EXPLICIT;
GO
결과는 다음과 같습니다.
<ProductModel ProdModelID="19" Name="Mountain-100">
<Summary>
<SummaryDescription>
<pd:Summary xmlns:pd="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription" xmlns="">
<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">Our top-of-the-line competition mountain bike. Performance-enhancing options include the innovative HL Frame, super-smooth front suspension, and traction for all terrain. </p1:p>
</pd:Summary>
</SummaryDescription>
</Summary>
</ProductModel>
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기