Variablen erfordern PL/SQL; Aus Ihrer Frage geht nicht hervor, ob Ihr Code ein richtiger PL/SQL-Block ist. In PL/SQL werden Variablen aus Abfragen gefüllt, die die INTO-Syntax und nicht die von Ihnen verwendete Zuweisungssyntax verwenden.
declare
txt varchar2(128);
n pls_integer;
begin
-- this is how to assign a literal
txt := 'your message here';
-- how to assign the output from a query
SELECT dbms_random.value(1,10) num
into n
FROM dual;
end;
Sie müssen jedoch nicht die Abfragesyntax verwenden. Dies ist gültig und eine bessere Vorgehensweise:
declare
n pls_integer;
begin
n := dbms_random.value(1,10);
end;