Ich habe versucht, Code zu verwenden, der die Anzahl der Elemente in einer Tabelle findet und in einer lokalen Variablen speichert. Ich möchte im Grunde nur die Existenz eines Datensatzes überprüfen, also wenn es einen einfacheren Weg gibt, dies zu tun. HierInformix SELECT INTO-Syntaxfehler
ist ein Beispiel, das ich von Speichern das Ergebnis einer Abfrage in einer Variablen (link) gefunden:
CREATE FUNCTION checklist(d SMALLINT)
RETURNING VARCHAR(30), VARCHAR(12), INTEGER;
DEFINE name VARCHAR(30);
DEFINE dept VARCHAR(12);
DEFINE num INTEGER;
SELECT mgr_name, department,
CARDINALITY(direct_reports)
FROM manager INTO name, dept, num
WHERE dept_no = d;
IF num > 20 THEN
EXECUTE FUNCTION add_mgr(dept);
ELIF num = 0 THEN
EXECUTE FUNCTION del_mgr(dept);
ELSE
RETURN name, dept, num;
END IF;
END FUNCTION;
Aber wenn ich versuche, meine eigene Version davon zu erstellen, bekomme ich einen Syntaxfehler. Ich habe keine Ahnung, was das Problem ist.
CREATE FUNCTION test()
RETURNING INTEGER AS num1;
DEFINE l_count INTEGER;
CREATE TEMP TABLE t_queued_calls (
session_id DEC(18,0) PRIMARY KEY,
calling_number NVARCHAR(50)
) WITH NO LOG;
INSERT INTO t_queued_calls VALUES (123456, '5555555555');
SELECT COUNT(*) FROM t_queued_calls INTO l_count WHERE session_id = 123456;
DROP TABLE t_queued_calls;
END FUNCTION;
zeigen die Fehlermeldung bitte – scaisEdge
Der Fehler ist unspezifisch. "SQL Error (-201): Ein Syntaxfehler ist aufgetreten." Aber ich habe Linien 1 auf einmal gestrichen und auf die SELECT-Anweisung beschränkt. – TeePaps
Ich habe einige Vorschläge geschrieben hoffe nützlich – scaisEdge