SnowConvert AI - Problemas do IBM DB2¶
SSC-EWI-DB0001¶
WITH ROW ACCESS POLICY CLAUSE DOES NOT SUPPORT MULTIPLE DECLARATION
Gravidade¶
Low
Descrição¶
Esta mensagem é exibida sempre que o SnowConvert AI detecta várias opções de coluna de rótulo de segurança dentro da mesma cláusula CREATE TABLE, o rótulo de segurança é traduzido para uma cláusula de política de acesso a linhas e o Snowflake não é compatível com várias declarações de política de acesso a linhas. Portanto, se mais de um rótulo de segurança for encontrado, eles serão comentados com este EWI.
Exemplo de código¶
Código de entrada:¶
Código de saída:¶
Recomendações¶
Revise seu código e certifique-se de que apenas uma etiqueta de segurança esteja dentro da cláusula
CREATE TABLESe precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0003¶
PERIOD DEFINITION IS NOT SUPPORTED IN SNOWFLAKE.
Gravidade¶
Medium
Descrição¶
DB2 temporal tables do not have a functional equivalent in Snowflake. When an application-period or system-period temporal table declaration is found in the CREATE TABLE columns, that column is commented out from the resulting script. The behavior of the SELECT statement will differ from Snowflake because temporal tables are not part of the Snowflake solution and this causes the result to be different if the Select statement is migrated partially, see the example below for more information about this.
Consulta Select¶
Resultado¶
ID |
START |
END |
|---|---|---|
1001 |
19:45.3 |
22:39.5 |
1002 |
19:45.5 |
22:39.6 |
1003 |
19:45.6 |
22:39.8 |
1004 |
19:45.7 |
00:00.0 |
1005 |
19:45.8 |
00:00.0 |
1006 |
19:46.0 |
00:00.0 |
7 |
16:21.8 |
00:00.0 |
Se a instrução Select for migrada parcialmente, obteremos um resultado muito diferente, como mostrado abaixo.
Consulta Select¶
Resultado¶
ID |
START |
END |
2001 |
22:39.5 |
00:00.0 |
2002 |
22:39.6 |
00:00.0 |
2003 |
22:39.8 |
00:00.0 |
1004 |
19:45.7 |
00:00.0 |
1005 |
19:45.8 |
00:00.0 |
1006 |
19:46.0 |
00:00.0 |
7 |
16:21.8 |
00:00.0 |
Exemplo de código¶
DB2¶
Criar tabela¶
Consulta Select¶
Snowflake¶
Create Table¶
Consulta Select¶
Recomendações¶
O Snowflake permite o armazenamento de dados históricos de tabelas por até 90 dias. Para saber mais, consulte Entendimento e uso do Time Travel.
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0004¶
OUTER TABLE REFERENCE NOT APPLICABLE IN SNOWFLAKE
Gravidade¶
Low
Descrição¶
Esta mensagem é exibida quando uma referência da tabela OUTER é encontrada em uma cláusula FROM dentro de uma instrução SELECT. Esta cláusula é usada para incluir de subtabelas na tabela de resultados intermediária da instrução SELECT. As subtabelas estão relacionadas a tabelas tipadas no banco de dados DB2, que são criadas com a cláusula OF da instrução CREATE TABLE, que também não é compatível com o Snowflake.
Exemplo de código¶
Código de entrada:¶
Código de saída:¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0005¶
MANIPULATION OF DATA IN VIEWS IS NOT SUPPORTED
Gravidade¶
Medium
Descrição¶
Esta mensagem é mostrada quando encontrada em um CREATE VIEW, um nó ou cláusula que está relacionado ao tratamento de dados de linhas em um CREATE VIEW. Observe que, no DB2, você pode inserir ou atualizar linhas diretamente de uma VIEW. Enquanto que, no Snowflake, isso não é compatível, fazendo com que nós ou cláusulas relacionadas a esta funcionalidade sejam transformadas em comentário e um EWI seja adicionado.
Exemplo de código¶
Código de entrada:¶
Código de saída:¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0006¶
INTERMEDIATE RESULT TABLE IS NOT SUPPORTED
Gravidade¶
Medium
Descrição¶
Esta mensagem é exibida quando um DATA CHANGE TABLE REFERENCE é encontrado em uma cláusula FROM. Um DATA CHANGE TABLE REFERENCE especifica uma tabela intermediária, que consiste nas linhas que são alteradas por uma instrução UPDATE, DELETE ou INSERT incluída no DATA CHANGE TABLE REFERENCE.
No Snowflake, isto não é compatível, pois não pode modificar as linhas e retornar um conjunto de resultados de tabela ao mesmo tempo. Portanto, Select é transformado em comentário.
Exemplo de código¶
Código de entrada DB2:¶
Instrução Select¶
Instrução Update¶
Código de saída do Snowflake:¶
Instrução Select¶
Instrução Update¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0007¶
QUERY AS INSERT TARGET NAME IS NOT SUPPORTED.
Gravidade¶
Medium
Descrição¶
Ao contrário do DB2, o Snowflake não permite o uso de resultados de consulta SELECT como o destino de uma instrução INSERT, exigindo, em vez disso, que os dados sejam inseridos diretamente em tabelas ou exibições materializadas.
Exemplo de código¶
DB2¶
Consulta¶
Snowflake¶
Consulta¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0008¶
DELETE FROM SELECT STATEMENT IS NOT SUPPORTED.
Gravidade¶
Medium
Descrição¶
O Snowflake não é compatível ao uso de consultas selecionadas na cláusula From de uma instrução Delete. Se a instrução Delete for migrada parcialmente, obteremos uma instrução incompleta, pois a cláusula From estará vazia.
Exemplo de código¶
DB2¶
Consulta Select¶
Snowflake¶
Consulta Select¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0009¶
POSITIONED STATEMENT IS NOT SUPPORTED.
Gravidade¶
Medium
Descrição¶
O Snowflake não é compatível com o uso de cursores como parte da instrução Delete e da instrução Update. Se a instrução for migrada parcialmente, nos livraremos da cláusula where da qual o cursor faz parte, tornando arriscado excluir ou atualizar toda a tabela.
Exemplo de código¶
DB2¶
Instrução Delete¶
Instrução Update¶
Snowflake¶
Instrução Delete¶
Instrução Update¶
Recomendações¶
For additional support, contact SnowConvert support at snowconvert-support@snowflake.com.
SSC-EWI-DB0010¶
ATTRIBUTE NAME IS NOT SUPPORTED IN SNOWFLAKE
Gravidade¶
Medium
Descrição¶
Esta mensagem é exibida ao especificar o atributo de um tipo estruturado que está sendo definido (chamado de designação de atributo). Um tipo estruturado pode ser um subtipo que permite que atributos sejam herdados de um supertipo.
O Snowflake não é compatível com esses tipos de estruturas.
For more information, see the DB2 CREATE TYPE (structured) documentation.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0011¶
ASSIGNMENT CLAUSE TYPE IS NOT SUPPORTED IN SNOWFLAKE
Gravidade¶
Medium
Descrição¶
Esta mensagem é exibida quando a cláusula de designação contém uma expressão incompatível com o Snowflake
Casos¶
Instrução de atualização¶
Quando uma cláusula de designação apresenta uma designação de várias colunas de uma seleção de linha, um exemplo disso pode ser encontrado na seção Exemplo de código.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0012¶
INVALID NAME AS INSERTION TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE
Gravidade¶
Medium
Descrição¶
O Snowflake não é compatível com o uso do nome da exibição na instrução de inserção do nome de destino.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0013¶
INVALID NAME AS DELETE TARGET, USE OF VIEW NAME IS NOT SUPPORTED IN SNOWFLAKE
Gravidade¶
Medium
Descrição¶
O Snowflake não é compatível com o uso do nome da exibição na instrução de exclusão do nome de destino. Por esse motivo, a consulta de resultado não pôde ser válida
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0014¶
THE USE OF EXTERNAL TABLE REFERENCES IS NOT SUPPORTED IN SNOWFLAKE
Gravidade¶
Medium
Descrição¶
O Snowflake não é compatível com o uso de tabelas externas na instrução Select. Por esse motivo, a consulta de resultado não pôde ser válida
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0015¶
The use of Create View Of Type is not supported in Snowflake
Gravidade¶
High
Descrição¶
This message is shown when SnowConvert AI detects a CREATE VIEW statement that uses the OF type clause. In DB2, typed views are created with the OF type MODE DB2SQL syntax and are based on structured types for object-relational modeling. Snowflake does not support typed views or structured types, so the view definition is marked with this EWI and marked as invalid.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Refactor the typed view into a standard view or materialized view that selects from the underlying table(s)
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0016¶
The use of Unnest Function is not supported in Snowflake
Gravidade¶
High
Descrição¶
This message is shown when SnowConvert AI detects the UNNEST or TABLE function in a FROM clause. In DB2, these table functions expand arrays or collections into rows (optionally with WITH ORDINALITY for row numbering). Snowflake has different syntax and semantics for array unnesting—FLATTEN is the equivalent—so the DB2 UNNEST/TABLE usage is marked as not supported.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Replace DB2
UNNESTorTABLEwith SnowflakeFLATTENto expand arrays into rows. UseFLATTEN(input => array_column)with appropriate column referencesSe precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0017¶
The use of Typed Tables is not supported in Snowflake
Gravidade¶
High
Descrição¶
This message is shown when SnowConvert AI detects a CREATE TABLE statement that uses the OF type or UNDER clause. In DB2, typed tables are defined with a structured type hierarchy (e.g., OF Student_t UNDER Person) and support inheritance. Snowflake does not support typed tables or structured types, so the table definition is marked with this EWI.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Refactor typed tables into standard tables. Model the type hierarchy with separate tables and foreign keys if inheritance relationships need to be preserved
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0018¶
The use of Staging Tables is not supported in Snowflake
Gravidade¶
High
Descrição¶
This message is shown when SnowConvert AI detects a CREATE TABLE statement that defines a staging table using the FOR clause (e.g., CREATE TABLE emp_summary_s FOR emp_summary PROPAGATE IMMEDIATE). In DB2, staging tables are used for materialized query table propagation. Snowflake does not support this construct, so the table definition is marked with this EWI.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Use Snowflake streams and tasks, or materialized views with refresh logic, to achieve similar incremental propagation behavior
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0019¶
The use of Analyze Table Factor is not supported in Snowflake
Gravidade¶
Low
Descrição¶
This message is shown when SnowConvert AI detects an ANALYZE_TABLE table factor in a FROM clause. In DB2, ANALYZE_TABLE invokes external analytics (e.g., SAS routines) inline in a query. Snowflake does not support this DB2-specific analytics integration, so the table reference is marked with this EWI.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Implement the analytics logic in Snowflake using Snowpark (Python/Java), stored procedures, or external functions, and restructure the query accordingly
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0020¶
The use of Data Capture is not supported in Snowflake
Gravidade¶
High
Descrição¶
This message is shown when SnowConvert AI detects the DATA CAPTURE CHANGES (or DATA CAPTURE NONE) clause in a CREATE TABLE statement. In DB2, this clause controls whether changed data is captured for replication (e.g., Q Replication). Snowflake does not support this DB2-specific clause, so it is marked with this EWI.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
For change data capture in Snowflake, use Streams to track changes on tables
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0021¶
The use of Materialized Query is not supported in Snowflake
Gravidade¶
Low
Descrição¶
This message is shown when SnowConvert AI detects a CREATE TABLE ... AS statement with materialized query options such as DATA INITIALLY DEFERRED, REFRESH DEFERRED, MAINTAINED BY SYSTEM, or ENABLE QUERY OPTIMIZATION. In DB2, these options define a refreshable materialized query table. Snowflake materialized views use different syntax and semantics, so these options are marked with this EWI.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Convert to a Snowflake materialized view if you need automatic refresh. Use
CREATE MATERIALIZED VIEWwith appropriate refresh settingsSe precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-EWI-DB0022¶
The use of With Select Analyzed Table is not supported in Snowflake
Gravidade¶
High
Descrição¶
This message is shown when SnowConvert AI detects a WITH (CTE) query in which the main SELECT references a table using the ANALYZE_TABLE table factor. DB2 allows inline analytics (e.g., SAS routines) via ANALYZE_TABLE in such contexts. Snowflake does not support this, so the entire WITH query is marked with this EWI.
Exemplo de código¶
DB2¶
Snowflake¶
Recomendações¶
Refactor the query to remove
ANALYZE_TABLE. Implement the analytics logic in Snowflake using Snowpark, stored procedures, or external functions, then integrate results via a separate step or viewSe precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com