Paramètre INOUT à 0 OK mais à NULL KO
Bonjour,
J'ai une procédure avec un paramètre INOUT :
Code:
1 2 3
| CREATE OR REPLACE PROCEDURE p_enregistrer_adresse
(
INOUT id_adresse INTEGER, -- Identifiant de l'adresse (importée ou déjà proposée à l'utilisateur et qu'il a pu modifier ou vider) |
Plus loin, j'ai ces tests :
Code:
1 2 3 4
| IF id_adresse > 0 THEN
-- id_adresse fourni => on cherche cette adresse en BDD
ELSEIF id_adresse = 0 OR id_adresse = NULL OR adresseImportee = TRUE THEN
-- id_adresse non fourni ou importé de pef_public => On cherche l'adresse par ses composantes |
Si j'initialise l'appel de ma procédure avec 0, l'adresse est créée :
Code:
1 2 3
| SET @idAdresse = 0;
CALL p_enregistrer_adresse (@idAdresse, ... );
SELECT @idAdresse; |
=>
Citation:
Envoyé par phpMyAdmin
@idAdresse
469
Si je l'initialise à NULL, rien ne se passe !
Code:
1 2 3
| SET @idAdresse = NULL;
CALL p_enregistrer_adresse (@idAdresse, ... );
SELECT @idAdresse; |
Citation:
Envoyé par phpMyAdmin
@idAdresse
NULL
Why ? 8O
J'ai pensé que comme le paramètre attend un INT, la procédure pourrait ne pas s'exécuter en cas de NULL mais je n'ai rien dans sql_errors. :calim2: