変数にはPL/SQLが必要です。コードが適切なPL/SQLブロックであるかどうかは質問からは明らかではありません。 PL / SQLでは、変数は、使用している代入構文ではなく、INTO構文を使用してクエリから入力されます。
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;
ただし、クエリ構文を使用する必要はありません。これは有効であり、より良い方法です:
declare
n pls_integer;
begin
n := dbms_random.value(1,10);
end;