Oracle
 sql >> Base de données >  >> RDS >> Oracle

PLSQL génère un entier aléatoire

Les variables nécessitent PL/SQL ; il n'est pas clair d'après votre question si votre code est un bloc PL/SQL approprié. En PL/SQL, les variables sont remplies à partir de requêtes utilisant la syntaxe INTO plutôt que la syntaxe d'affectation que vous utilisez.

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;

Cependant, vous n'avez pas besoin d'utiliser la syntaxe de requête. C'est valable, et c'est une meilleure pratique :

declare
    n pls_integer;
begin
    n := dbms_random.value(1,10);
end;