Mega Code Archive

 
Categories / Oracle PLSQL Tutorial / System Packages
 

Use dbms_utility name_resolve to find a package

SQL> SQL> set echo on SQL> set serverout on SQL> SQL> declare   2      type vcArray is table of varchar2(30);   3      l_types vcArray := vcArray( null, null, null, null, 'synonym',null, 'procedure', 'function','package' );   4      l_schema   varchar2(30);   5      l_part1    varchar2(30);   6      l_part2    varchar2(30);   7      l_dblink   varchar2(30);   8      l_type     number;   9      l_obj#     number;  10  begin  11    dbms_utility.name_resolve( name => 'DBMS_UTILITY',  12                               context       => 1,  13                               schema        => l_schema,  14                               part1         => l_part1,  15                               part2         => l_part2,  16                               dblink        => l_dblink,  17                               part1_type    => l_type,  18                               object_number => l_obj# );  19    if l_obj# IS NULL  20    then  21      dbms_output.put_line('Object not found or not valid.');  22    else  23      dbms_output.put( l_schema || '.' || nvl(l_part1,l_part2) );  24      if l_part2 is not null and l_part1 is not null  25      then  26          dbms_output.put( '.' || l_part2 );  27      end if;  28      dbms_output.put_line( ' is a ' || l_types( l_type ) ||  29                            ' with object id ' || l_obj# ||  30                            ' and dblink "' || l_dblink || '"' );  31    end if;  32  end;  33  / SYS.DBMS_UTILITY is a package with object id 4224 and dblink "" PL/SQL procedure successfully completed.