Can you help me resolve a ORA-01006?

hi, i get a ORA-01006: bind variable does not exist  ..... error with this, from a packaged proc, can you please help me with this...

EXECUTE IMMEDIATE
            'select  oldest_backup_time,newest_backup_time  into :lv_oldest, :lv_newest from '
            || lv_dbname
            || '.'
            || 'rc_backup_set_summary'
            || '@'
            || 'LINK_ABCDEF '
            USING lv_oldest,lv_newest,lv_dbname;
Rao_SAsked:
Who is Participating?
 
MikeOM_DBAConnect With a Mentor Commented:
Ooops, miss-read the code.

Actually it should be:
EXECUTE IMMEDIATE
       'SELECT  oldest_backup_time, newest_backup_time 
          FROM '|| lv_dbname  || '.rc_backup_set_summary@LINK_ABCDEF '
          INTO lv_oldest, lv_newest; 

Open in new window

0
 
MikeOM_DBACommented:
Missing colon, here: ...   || lv_dbname
0
 
flow01Commented:
You are passing 3 variables (using ,,)  and defined 2 in your query :lv.

You can't pass however the databaselink name as a bind variable, so you must include it in the query text.

Try
lv_dbname := ' 'LINK_ABCDEF ';
EXECUTE IMMEDIATE
            'select  oldest_backup_time,newest_backup_time  into :lv_oldest, :lv_newest from '
            || lv_dbname
            || '.'
            || 'rc_backup_set_summary'
            || '@'
            || lv_dbname
            USING lv_oldest,lv_newest;
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
flow01Commented:
Is the schema name same as dblink ?
0
 
HuaMinChenSystem managerCommented:
Try
EXECUTE IMMEDIATE
            'select  oldest_backup_time,newest_backup_time  into :lv_oldest, :lv_newest from '
            || lv_dbname
            || '.'
            || 'rc_backup_set_summary'
            || '@'
            || 'LINK_ABCDEF '
            USING lv_oldest,lv_newest;

Open in new window

0
 
MikeOM_DBACommented:
1) Your query does not have and conditions and therefore will none of the posted variations will work unless the table has ONE row.

2) In the EXECUTE IMMEDIATE statement, the "USING" part is to supply bind variable values to the query and the "INTO" part is to receive results from the query.

3) Other than variables, in order to supply information that builds the query and which is contained in variables (like schema and/or table name and/or database link. etc...), you must CONCATENATE these variables to the query  text.
0
 
Rao_SAuthor Commented:
hi flow, the schema name is not same as the link name, i tried to use the link name as a variable, but your script did not work...
hi mikeom_dba, i tried your scipt, and it worked thank you...
0
 
Rao_SAuthor Commented:
thank you..
0
All Courses

From novice to tech pro — start learning today.