SnowConvert AI - SQL Server-Azure Synapse - 뷰¶
Applies to
SQL 서버
Azure 시냅스 분석
참고
출력 코드의 일부 부분은 명확성을 위해 생략되었습니다.
이 섹션에서는 생성하기 뷰에 대한 변환을 확인합니다.
샘플 소스 패턴¶
SIMPLE CREATE VIEW¶
다음 예제는 간단한 CREATE VIEW 문에 대한 변환을 보여줍니다.
Transact¶
CREATE VIEW VIEWNAME
AS
SELECT AValue from ATable;
Snowflake¶
CREATE OR REPLACE VIEW VIEWNAME
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
AS
SELECT
AValue
from
ATable;
CREATE OR ALTER VIEW¶
SqlServer 에서 사용되는 CREATE OR ALTER 정의는 Snowflake에서 CREATE OR REPLACE 로 변환됩니다.
Transact¶
CREATE OR ALTER VIEW VIEWNAME
AS
SELECT AValue from ATable;
Snowflake¶
CREATE OR REPLACE VIEW VIEWNAME
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
AS
SELECT
AValue
from
ATable;
CREATE VIEW WITH¶
이 유형의 뷰에서는 뷰 이름 뒤에 다음 절이 올 수 있습니다
WITH ENCRYPTIONWITH SCHEMABINDINGWITH VIEW_METADATA
경고
위의 절은 변환에서 제거되었습니다.Snowflake 구문과 관련이 없기 때문입니다.
Transact¶
CREATE OR ALTER VIEW VIEWNAME
WITH ENCRYPTION
AS
SELECT AValue from ATable;
Snowflake¶
CREATE OR REPLACE VIEW VIEWNAME
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
AS
SELECT
AValue
from
ATable;
CREATE VIEW AS SELECT WITH CHECK OPTION¶
이 유형의 뷰에서 WITH CHECK OPTION 절은 뷰 생성하기에 사용되는 Select 문 뒤에옵니다.
경고
WITH CHECK OPTION 은 Snowflake 구문과 관련이 없으므로 변환에서 삭제되었습니다.
Transact¶
CREATE OR ALTER VIEW VIEWNAME
AS
SELECT AValue from ATable
WITH CHECK OPTION;
Snowflake¶
CREATE OR REPLACE VIEW VIEWNAME
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
AS
SELECT
AValue
from
ATable;
CREATE VIEW AS COMMON TABLE EXPRESSION¶
데이터를 검색하려면 공통 테이블 식을 사용해야 합니다.
Transact¶
CREATE VIEW EMPLOYEEIDVIEW
AS
WITH CTE AS ( SELECT NationalIDNumber from [HumanResources].[Employee]
UNION ALL
SELECT BusinessEntityID FROM [HumanResources].[EmployeeDepartmentHistory] )
SELECT * FROM MyCTE;
Snowflake¶
CREATE OR REPLACE VIEW EMPLOYEEIDVIEW
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
AS
--** SSC-PRF-TS0001 - PERFORMANCE WARNING - RECURSION FOR CTE NOT CHECKED. MIGHT REQUIRE RECURSIVE KEYWORD **
WITH CTE AS ( SELECT
NationalIDNumber
from
HumanResources.Employee
UNION ALL
SELECT
BusinessEntityID
FROM
HumanResources.EmployeeDepartmentHistory
)
SELECT
*
FROM
MyCTE;
UNSUPPORTED SCENARIOS¶
업데이트, 삽입 또는 삭제 문이 포함된 일반적인 테이블 식은 Snowflake 및 SQLServer 에서 지원되지 않으므로 설명이 생략됩니다.
유효하지 않은 CTE 가 뷰에 추가되는 경우 완전히 설명이 생략됩니다.
--!!!RESOLVE EWI!!! /*** SSC-EWI-0021 - COMMON TABLE EXPRESSION IN VIEW NOT SUPPORTED ***/!!!
--CREATE OR REPLACE VIEW PUBLIC.EmployeeInsertVew
--AS
--WITH MyCTE AS ( SELECT
--NationalIDNumber
--from
--HumanResources.Employee
--UNION ALL
--SELECT
--BusinessEntityID
--FROM
--HumanResources.EmployeeDepartmentHistory
--)
--INSERT INTO PUBLIC.Dummy
FINAL SAMPLE¶
최종 샘플을 살펴보고 지금까지 본 모든 케이스를 종합하고 변환이 어떻게되는지 살펴 보겠습니다
Transact¶
CREATE OR ALTER VIEW VIEWNAME
WITH ENCRYPTION
AS
Select AValue from ATable
WITH CHECK OPTION;
Snowflake¶
CREATE OR REPLACE VIEW VIEWNAME
COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"transact"}}'
AS
Select
AValue
from
ATable;
보시다시피 OR ALTER 을 OR REPLACE 로 변경하고 뷰 이름 뒤에 오는 WITH ENCRYPTION 절과 선택 뒤에 오는 WITH CHECK OPTION 절을 제거했습니다.