SnowConvert AI – Diferenças funcionais do IBM DB2¶
SSC-FDM-DB0001¶
FUNCTIONALITY MIGHT BE DIFFERENT DEPENDING ON THE DB2 DATABASE.
Gravidade¶
Low
Descrição¶
Esta mensagem é exibida sempre que um elemento SQL se comporta de maneira diferente dependendo da versão do banco de dados DB2 (DB2 para i, DB2 para z/OS ou DB2 para Linux, Unix e Windows). O SnowConvert AI trata todas as versões DB2 como uma só e, portanto, a tradução do elemento pode apresentar diferenças de funcionalidade em comparação com a plataforma original.
Casos¶
Abaixo estão listados todos os elementos SQL identificados até o momento que se comportam de maneira diferente dependendo da versão do banco de dados DB2.
CURRENT MEMBER¶
DB2 para z/OS: CURRENT MEMBER especifica o nome do membro de compartilhamento de dados Db2 atual no qual uma instrução está sendo executada. O valor de CURRENT MEMBER é uma cadeia de caracteres.
Db2 para LUW: o registro especial CURRENT MEMBER especifica um valor INTEGER que identifica o membro coordenador para a instrução.
Exemplo de código¶
Código de entrada:¶
CREATE TABLE T1
(
COL1 INT,
COL2 CHAR(8) WITH DEFAULT CURRENT MEMBER
);
Código de saída:¶
CREATE TABLE T1
(
COL1 INT,
COL2 CHAR(8) DEFAULT
--** SSC-FDM-DB0001 - FUNCTIONALITY FOR CURRENT_ROLE MIGHT BE DIFFERENT DEPENDING ON THE DB2 DATABASE. **
CURRENT_ROLE()
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": { "major": 0, "minor": 0, "patch": "0" }, "attributes": { "component": "db2", "convertedOn": "09/02/2025", "domain": "no-domain-provided" }}';
Recomendações¶
Revise seu código e lembre-se de que a transformação de resultados pode se comportar de maneira diferente dependendo da versão do Db2 que está sendo utilizada.
Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com
SSC-FDM-DB0002¶
DECFLOAT TYPE CHANGED TO NUMBER BECAUSE IT IS ONLY SUPPORTED IN TABLE COLUMNS AND CAST EXPRESSIONS IN SNOWFLAKE.
Gravidade¶
Low
Descrição¶
This message is shown when a DECFLOAT data type is used in a context not supported by Snowflake. In Snowflake, DECFLOAT is only permitted in:
Table column definitions (
CREATE TABLE)CASTexpressions (CAST(value AS DECFLOAT))
When DECFLOAT is used in other contexts such as procedure parameters, function parameters, or local variable declarations, SnowConvert AI transforms it to NUMBER(38, 37) and adds this FDM to indicate the functional difference.
Code Example¶
DB2¶
CREATE PROCEDURE TestProc (param1 DECFLOAT)
BEGIN
DECLARE local_var DECFLOAT;
SET local_var = param1;
END;
Snowflake¶
CREATE OR REPLACE PROCEDURE TestProc (param1 NUMBER(38, 37) --** SSC-FDM-DB0002 - DECFLOAT TYPE CHANGED TO NUMBER BECAUSE IT IS ONLY SUPPORTED IN TABLE COLUMNS AND CAST EXPRESSIONS IN SNOWFLAKE. **
)
RETURNS VARCHAR
LANGUAGE SQL
AS
$$
BEGIN
LET local_var NUMBER(38, 37) --** SSC-FDM-DB0002 - DECFLOAT TYPE CHANGED TO NUMBER BECAUSE IT IS ONLY SUPPORTED IN TABLE COLUMNS AND CAST EXPRESSIONS IN SNOWFLAKE. **
:= NULL;
local_var := param1;
END;
$$;
Recomendações¶
Review the converted code to ensure that using
NUMBER(38, 37)instead ofDECFLOATdoes not affect your application logic.If precise decimal floating-point arithmetic is critical for these parameters or variables, consider refactoring your code to use table columns or
CASTexpressions whereDECFLOATis supported.Se precisar de mais suporte, envie um e-mail para snowconvert-support@snowflake.com