0

I'm trying to put the result of the query into a bind variable like this, but doesn't work:

var teste number;
exec :teste := (select trunc(avg(e.salary),2) from hr.employees e);

How I make it to work? I don't want to use a PL/SQL block.

1

exec is a PL/SQL block:

SQL> var teste number
SQL> exec select trunc(avg(user_id)) into :teste from dba_users;

PL/SQL procedure successfully completed.

SQL> print :teste

     TESTE
----------
 447392453

It is the same as:

begin
  select trunc(avg(user_id)) into :teste from dba_users;
end;
/

SQL*Plus substitution variable:

SQL> column my_value new_value teste
SQL> select trunc(avg(user_id)) my_value from dba_users;

  MY_VALUE
----------
 447392453

SQL> define teste
DEFINE TESTE           =  447392453 (NUMBER)
SQL>
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.