Showing posts with label sql*plus. Show all posts
Showing posts with label sql*plus. Show all posts

Saturday, August 05, 2017

Using bind variables in SQL*Plus

mark two links for quick reference

Declare bind variables in SQL*Plus





You can declare a bind variable in SQL*Plus though, and select into that:

var l_test_quote varchar2(80); -- or whatever type/size you need
var l_test_id varchar2(80);

declare
    l_id varchar2(80) :='test123';
begin
    select test_quote, test_id
    into :l_test_quote, :l_test_id
    from order_link
    where id = l_id;
end;
/

print l_test_quote
print l_test_id
Note the : before the references to the variables defined outside the block, indicating they are bind variables. l_id is declared inside the block so it does not have a preceding :.

In this case you could also define l_id outside the block, and avoid PL/SQL while still using a bind variable for that:

var l_id varchar2(80);

exec :l_id := 'test123';

select test_quote, test_id
from order_link
where id = :l_id;
Because the main query isn't PL/SQL any more (although the exec is; that's just a shorthand for a one-line anonymous block), you don't need to select ... into so you don't need to declare those variables.


Wednesday, June 06, 2007

set prompt for sql*plus

I like to have a clear command line prompt to remind me where / Who I am.

Just learn that this can be done in sqlplus also. This is use full when having mutilple instance running in one ORACLE_HOME.

the command can be addd to $ORACLE_HOME/sqlplus/admin/glogin.sql

by below command , you will have something like SYS@OCP> in your sql*plus prompt
set sqlprompt "_user'@'_user_identifier> "