SnowConvert AI - PostgreSQL - CREATE VIEW¶
PostgreSQL에서 Snowflake로의 변환
적용 대상¶
PostgreSQL
Greenplum
Netezza
설명¶
이 명령은 쿼리에서 뷰가 참조될 때마다 실행되는 뷰를 데이터베이스에 만듭니다.
자세한 내용은 CREATE VIEW 설명서를 참조하세요.
문법 구문¶
CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW <name> [ ( <column_name> [, ...] ) ]
[ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
AS <query>
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
코드 예제¶
[OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE]¶
Hint
이 구문은 Snowflake에서 완벽하게 지원됩니다.
입력 코드:¶
PostgreSQL¶
CREATE OR REPLACE VIEW view1 AS
SELECT
product_id,
SUM(quantity) AS sum_quantity
FROM
table1
GROUP BY
product_id;
CREATE TEMPORARY RECURSIVE VIEW view2 AS
SELECT
product_id,
SUM(quantity) AS sum_quantity
FROM
table1
GROUP BY
product_id;
출력 코드:¶
Snowflake¶
CREATE OR REPLACE VIEW view1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "postgresql", "convertedOn": "05/14/2025", "domain": "no-domain-provided" }}'
AS
SELECT
product_id,
SUM(quantity) AS sum_quantity
FROM
table1
GROUP BY
product_id;
CREATE TEMPORARY RECURSIVE VIEW view2
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "postgresql", "convertedOn": "05/14/2025", "domain": "no-domain-provided" }}'
AS
SELECT
product_id,
SUM(quantity) AS sum_quantity
FROM
table1
GROUP BY
product_id;
WITH CHECK CLAUSE¶
뷰의 이 WITH CHECK CLAUSE 절은 뷰를 통해 삽입되거나 업데이트된 모든 데이터가 뷰의 정의 조건을 충족하도록 적용합니다. LOCAL은 현재 뷰의 조건만 확인하지만 CASCADED는 뷰와 모든 기본 뷰의 조건을 확인합니다. 이 절은 뷰를 통해 보이지 않고 재귀 뷰와 함께 사용할 수 없는 행이 생성되는 것을 방지합니다.
위험
이 구문은 Snowflake에서 지원되지 않습니다.
입력 코드:¶
PostgreSQL¶
CREATE VIEW updatable_products AS
SELECT id, name, price
FROM products
WHERE price > 0
WITH LOCAL CHECK OPTION;
출력 코드:¶
Snowflake¶
CREATE VIEW updatable_products
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "postgresql", "convertedOn": "05/14/2025", "domain": "no-domain-provided" }}'
AS
SELECT id, name, price
FROM
products
WHERE price > 0;
WITH PARAMETERS OPTIONS¶
이 WITH PARAMETERS OPTIONS를 사용하면 뷰에 대해 뷰를 통한 수정 사항을 확인하는 방법(check_option) 및 행 수준 보안 적용 여부(security_barrier)와 같은 선택적 속성을 설정할 수 있습니다.
위험
이 구문은 Snowflake에서 지원되지 않습니다.
입력 코드:¶
PostgreSQL¶
CREATE VIEW large_orders WITH (security_barrier=true, check_option=local) AS
SELECT order_id, customer_id, total_amount
FROM orders
WHERE total_amount > 1000;
출력 코드:¶
Snowflake¶
CREATE VIEW large_orders
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "postgresql", "convertedOn": "05/14/2025", "domain": "no-domain-provided" }}'
AS
SELECT order_id, customer_id, total_amount
FROM
orders
WHERE total_amount > 1000;
VALUES OPTION¶
Hint
이 구문은 Snowflake에서 완벽하게 지원됩니다.
입력 코드:¶
PostgreSQL¶
CREATE VIEW numbers_view (number_1) AS
VALUES (1,2), (2,2), (3,2), (4,2), (5,2);
출력 코드:¶
Snowflake¶
CREATE VIEW numbers_view
AS
SELECT
*
FROM
(
VALUES (1,2), (2,2), (3,2), (4,2), (5,2)
) AS numbers_view (
number_1
);