SnowConvert AI - PostgreSQL - CREATE VIEW¶
Tradução de PostgreSQL para Snowflake
Aplica-se a¶
PostgreSQL
Greenplum
Netezza
Descrição¶
Este comando cria uma exibição em um banco de dados, que é executado toda vez que a exibição é referenciada em uma consulta.
Para obter mais informações, consulte a documentação CREATE VIEW.
Sintaxe da gramática¶
CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW <name> [ ( <column_name> [, ...] ) ]
[ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
AS <query>
[ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
Exemplos de código¶
[OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE]¶
Dica
Essa sintaxe é totalmente compatível com o Snowflake.
Código de entrada:¶
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;
Código de saída:¶
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¶
Esta cláusula WITH CHECK CLAUSE em uma exibição impõe que qualquer dado inserido ou atualizado por meio da exibição deve satisfazer às condições de definição da exibição. LOCAL verifica apenas as condições da exibição atual, enquanto CASCADED verifica as condições da exibição e de todas as exibições subjacentes. Ela impede a criação de linhas que sejam invisíveis pela exibição e não possam ser usadas com exibições recursivas.
Perigo
Essa sintaxe não é compatível com o Snowflake.
Código de entrada:¶
PostgreSQL¶
CREATE VIEW updatable_products AS
SELECT id, name, price
FROM products
WHERE price > 0
WITH LOCAL CHECK OPTION;
Código de saída:¶
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¶
Esta WITH PARAMETERS OPTIONS permite definir propriedades opcionais para a exibição, por exemplo, como as modificações através da exibição são verificadas (check_option) e se deve ser aplicada a segurança em nível de linha (security_barrier).
Perigo
Essa sintaxe não é compatível com o Snowflake.
Código de entrada:¶
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;
Código de saída:¶
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¶
Dica
Essa sintaxe é totalmente compatível com o Snowflake.
Código de entrada:¶
PostgreSQL¶
CREATE VIEW numbers_view (number_1) AS
VALUES (1,2), (2,2), (3,2), (4,2), (5,2);
Código de saída:¶
Snowflake¶
CREATE VIEW numbers_view
AS
SELECT
*
FROM
(
VALUES (1,2), (2,2), (3,2), (4,2), (5,2)
) AS numbers_view (
number_1
);