SnowConvert AI - Différences fonctionnelles IBM DB2

SSC-FDM-DB0001

FUNCTIONALITY MIGHT BE DIFFERENT DEPENDING ON THE DATABASE DB2.

Gravité

Faible

Description

Ce message s’affiche chaque fois qu’un élément SQL se comporte différemment en fonction de la version de la base de données DB2 ([DB2 pour i] (https://www.ibm.com/docs/fr/i/7.4?topic=database), DB2 pour z/OS ou DB2 pour Linux, Unix et Windows). SnowConvert AI traite toutes les versions DB2 comme un tout et, par conséquent, la traduction de l’élément peut présenter des différences de fonctionnalités par rapport à la plateforme d’origine.

Cas

Vous trouverez ci-dessous tous les éléments SQL identifiés jusqu’à présent, qui se comportent différemment en fonction de la version de la base de données DB2.

CURRENT MEMBER

DB2 pour z/OS : CURRENT MEMBER spécifie le nom de membre d’un membre de partage de données Db2 actuel sur lequel une instruction s’exécute. La valeur de CURRENT MEMBER est une chaîne de caractères.

Db2 pour LUW : Le registre spécial CURRENT MEMBER spécifie une valeur INTEGER qui identifie le membre coordinateur pour l’instruction.

Exemple de code
Code d’entrée :
 CREATE TABLE T1
(
  COL1 INT,
  COL2 CHAR(8) WITH DEFAULT CURRENT MEMBER
);
Copy
Code de sortie :
 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" }}';
Copy

Recommandations

  • Examinez votre code et gardez à l’esprit que la transformation de résultat peut se comporter différemment en fonction de la version Db2 utilisée.

  • Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à 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.

Gravité

Faible

Description

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)

  • CAST expressions (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;
Copy

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;
$$;
Copy

Recommandations

  • Review the converted code to ensure that using NUMBER(38, 37) instead of DECFLOAT does 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 CAST expressions where DECFLOAT is supported.

  • Si vous avez besoin de plus d’assistance, vous pouvez nous envoyer un e-mail à snowconvert-support@snowflake.com.