J'ai une procédure stockée que j'ai commencé à coder et que vous devez retourner une valeur. Dans SQL Server, je pourrais simplement faire un SELECT de la variable pour le renvoyer. Cependant, cela ne semble pas fonctionner avec Teradata et n'a pas trouvé un exemple similaire sur la façon de le faire. Voici ma procédure stockée:Sélectionnez une variable à exporter à l'intérieur d'une procédure stockée dans Teradata
REPLACE PROCEDURE sp_Get_MyValue()
BEGIN
DECLARE mytestvar VARCHAR(40);
SELECT mycolumn INTO mytestvar FROM MyTable;
SELECT mytestvar;
END;
Je reçois cette erreur:
STATEMENT 2: REPLACE failed. Failed [5526 : HY000] Stored Procedure is not created/replaced due to error(s).{Nested Failure Msg [5526 : HY000] SPL1045:E(L10), Invalid or missing INTO clause.}
J'ai aussi essayé d'ajouter une variable OUT à la procédure, mais cela ne fonctionne pas non plus:
REPLACE PROCEDURE sp_Get_MyValue(mytestvarout VARCHAR(40))
BEGIN
DECLARE mytestvar VARCHAR(40);
SELECT mycolumn INTO mytestvar FROM MyTable;
END;
Avec cette erreur:
Executed as Single statement. Failed [5531 : HY000] Named-list is not supported for arguments of a procedure. Elapsed time = 00:00:00.079
Je reçois toujours cette erreur: Named-list n'est pas supporté pour les arguments d'une procédure. – Russ960
Vous devez l'APPELER avec un nom de paramètre: 'CALL sp_Get_MyValue (peu importe)' (habituellement, vous utilisez le nom de la variable réelle au lieu de 'whatever') – dnoeth
Merci. Noob erreur de ma part. Ça a marché! – Russ960