Ich habe eine kleine gespeicherte Prozedur:„ungültige Nummer Ausnahme: ungültige Nummer: keine gültige Zahlenfolge“, wenn ruft eine gespeicherte Prozedur
CREATE PROCEDURE "XYZ"."TEST" (
IN KKK_ID NVARCHAR(12),
IN START_DATE SECONDDATE,
IN END_DATE SECONDDATE,
IN INTER INTEGER
)
SELECT
*,
ROW_NUMBER() OVER(ORDER BY "DATES") AS "INDEXX"
FROM "XYZ::DATA"
WHERE
"DATES" >= :START_DATE
AND
"DATES" <= :END_DATE
AND
"ID" = :KKK_ID
ORDER BY "DATES";
Wenn ich versuche, dieses Verfahren zu nennen, ich diesen Fehler Nachricht:
CALL "XYZ"."TEST"('DE666', '2014-01-01', '2015-12-31', 2234);
ungültige Nummer Ausnahme: ungültige Nummer: keine gültige Zahl string 'DE666'
Aber die 'D666' sieht aus wie eine Schnur - zumindest für mich. Was ist hier falsch?
PS: id
ist kein reserviertes Wort.
@a_horse_with_no_name Eigentlich war dies nur ein Versuch, den Fehler zu lokalisieren. Wenn ich es zurück zu "seconddate" oder etwas anderes ändern, ist die Fehlermeldung die gleiche .. – Tobias
@GurwinderSingh, nein, es ist ein 'varchar (33)' Typ – Tobias
Die Fehlermeldung sagt, dass die Zeichenfolge 'DE666' ist keine gültige Zahl, nicht dass es keine Zeichenkette ist. Warum es versucht, es als eine Nummer zu behandeln, weiß ich nicht. Vermutlich "XYZ :: DATA". "ID" ist eine Zahl? – melpomene