Après avoir passé ma base Access en DB2 puis sous Oracle, je dois
maintenant la passer sous SQL Server. Et bien sur, j'ai des problèmes.
J'ai une 50-aine de fichiers .sql qui permettent de créer des function.
Ils sont écrits avec la syntaxe qui va bien pour DB2.
Je dois les modifier pour qu'ils fonctionnent avec SQL Server.
Dès le premier, l'analyseur de requète me jette des tas d'erreurs à la
figure.
Premier exemple:
CREATE FUNCTION AFF_DPT( val DOUBLE )
RETURNS VARCHAR(255)
F1: BEGIN ATOMIC
IF val = 1 THEN
RETURN 'Moyenne';
ELSEIF val = -1 THEN
RETURN 'Inconnue';
ELSE
RETURN CHAR(DECIMAL(val-1,2,0));
END IF;
RETURN CHAR(DECIMAL(val-1,2,0));
END
Après modifications:
CREATE FUNCTION AFF_DPT2
(
@valeur DECIMAL
)
RETURN VARCHAR(255)
BEGIN
IF @valeur = 1 THEN
RETURN 'Moyenne';
ELSE IF @valeur = -1 THEN
RETURN 'Inconnue';
ELSE
RETURN CAST((@valeur - 1) AS CHAR(2));
END IF;
RETURN CAST((@valeur - 1) AS CHAR(2));
END
Résultat:
Serveur : Msg 156, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 8
Syntaxe incorrecte vers le mot clé 'RETURN'.
Serveur : Msg 195, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 8
'VARCHAR' n'est pas un nom de fonction reconnu.
Serveur : Msg 156, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 13
Syntaxe incorrecte vers le mot clé 'THEN'.
Serveur : Msg 178, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 14
Une instruction RETURN avec une valeur de retour ne peut être utilisée
dans ce contexte.
Serveur : Msg 156, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 15
Syntaxe incorrecte vers le mot clé 'THEN'.
Serveur : Msg 178, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 16
Une instruction RETURN avec une valeur de retour ne peut être utilisée
dans ce contexte.
Serveur : Msg 178, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 18
Une instruction RETURN avec une valeur de retour ne peut être utilisée
dans ce contexte.
Serveur : Msg 178, Niveau 15, État 1, Procédure AFF_DPT2, Ligne 21
Une instruction RETURN avec une valeur de retour ne peut être utilisée
dans ce contexte.
Kelkun pourrait m'aider à faire mes premiers pas dans ce domaine ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Alphomega
Merci pour le coup de main ! Les débuts sont pas faciles. On se demande pourquoi le langage n'est pas le même pour tous les sytèmes. Ce serait tellement plus pratique :D
Merci pour le coup de main ! Les débuts sont pas faciles.
On se demande pourquoi le langage n'est pas le même pour tous les
sytèmes. Ce serait tellement plus pratique :D
Merci pour le coup de main ! Les débuts sont pas faciles. On se demande pourquoi le langage n'est pas le même pour tous les sytèmes. Ce serait tellement plus pratique :D