SnowConvert AI – PostgreSQL – CREATE VIEW¶
Übersetzung von PostgreSQL in Snowflake
Gilt für:¶
PostgreSQL
Greenplum
Netezza
Beschreibung¶
Dieser Befehl erstellt eine Ansicht in einer Datenbank, die jedes Mal ausgeführt wird, wenn die Ansicht in einer Abfrage referenziert wird.
Weitere Informationen dazu finden Sie in der Dokumentation zu CREATE VIEW.
Grammatikalische Syntax¶
CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW <name> [ ( <column_name> [, ...] ) ]
[ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
AS <query>
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
Codebeispiele¶
[OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE]¶
Hinweis
Diese Syntax wird in Snowflake vollständig unterstützt.
Eingabecode:¶
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;
Ausgabecode:¶
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¶
Diese WITH CHECK CLAUSE-Klausel für eine Ansicht erzwingt, dass alle über die Ansicht eingefügten oder aktualisierten Daten die definierenden Bedingungen der Ansicht erfüllen müssen. LOCAL prüft nur die Bedingungen der aktuellen Ansicht, während CASCADED die Bedingungen der Ansicht und aller zugrunde liegenden Ansichten prüft. Sie verhindert das Erstellen von Zeilen, die durch die Ansicht nicht sichtbar sind, und kann nicht mit rekursiven Ansichten verwendet werden.
Gefahr
Diese Syntax wird in Snowflake nicht unterstützt.
Eingabecode:¶
PostgreSQL¶
CREATE VIEW updatable_products AS
SELECT id, name, price
FROM products
WHERE price > 0
WITH LOCAL CHECK OPTION;
Ausgabecode:¶
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¶
Diese WITH PARAMETERS OPTIONS-Klausel ermöglicht das Festlegen optionaler Eigenschaften für die Ansicht, z. B. wie Änderungen über die Ansicht geprüft werden (check_option) und ob Sicherheit auf Zeilenebene erzwungen werden soll (security_sperr).
Gefahr
Diese Syntax wird in Snowflake nicht unterstützt.
Eingabecode:¶
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;
Ausgabecode:¶
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¶
Hinweis
Diese Syntax wird in Snowflake vollständig unterstützt.
Eingabecode:¶
PostgreSQL¶
CREATE VIEW numbers_view (number_1) AS
VALUES (1,2), (2,2), (3,2), (4,2), (5,2);
Ausgabecode:¶
Snowflake¶
CREATE VIEW numbers_view
AS
SELECT
*
FROM
(
VALUES (1,2), (2,2), (3,2), (4,2), (5,2)
) AS numbers_view (
number_1
);