-1
je la HANA procédure suivante:HANA fonction SQL pour diviser une chaîne délimitée par des virgules dans les sous-chaînes
CREATE PROCEDURE SP_LIT()
AS
BEGIN
DECLARE count INT;
DECLARE pos INT;
DECLARE value NVARCHAR(100);
value := 'R,A';
IF LENGTH(:value) > 0 THEN
value := :value + ',';
pos := LOCATE(:value,',',1);
END IF;
WHILE :pos > 0 DO
BEGIN
INSERT INTO [O/P table] VALUES (LEFT(:value,:pos-1));
value := RIGHT(:value, LENGTH (:value)-:pos);
pos := LOCATE(:value,',',1);
END;
END WHILE;
END;
Tout semble bien, mais sur l'exécution de l'erreur suivante est générée:
Error: invalid number exception: invalid number: not a valid number string 'R,A'
Toute idée où est-ce que je vais mal?
Je ne connais pas grand-chose à HANA, mais il serait utile de savoir sur quelle ligne il se trouve. Il se peut que la colonne de la table cible soit un type de données numérique et que vous essayiez d'y insérer une chaîne. Les fonctions que vous utilisez ne semblent pas nécessiter de numéros. Normalement, dans une instruction INSERT, vous devez spécifier les colonnes à insérer, mais encore une fois, je ne connais pas grand-chose à propos de HANA –
Voir les questions précédentes sur SO, par ex. https://stackoverflow.com/questions/44110999/how-to-split-multiple-values-from-a-row-into-separate-rows –