--Program : tabs.sql --Purpose : To find and display a list of all accessible tables that match a given criteria --Usage : SQL>@tabs [owner[%].][[%]table_name|ALL|/] --Notes : The owner name, if omiited, defaults to the current user. --Example : SQL>@tabs / -- displays a list of all tables owner by the current user. -- SQL>@tabs ALL -- displays a list of all tables owner by the current user. -- SQL>@tabs SCOTT.EMP -- displays a list of all tables named like EMP% and owned by all users named like SCOTT%. --Author : Ram Razdan , ramrazdan@yahoo.com --License : Free for public use, amendment and distribution. -- Please refer https://ramrazdan.tripod.com/termsofuse.txt for full details. --Revision : Version Date Server/OS Comments -- 1.0 Dec,1997 Oracle7.1/SunOS Initial Revision. -- 1.1 Aug,1998 Oracle7.3/SunOS Display comments along with the table names. -- 1.2 Apr,2001 Oracle8.1/Win98 Remove code to prevent the "Input trunacted .." message. COLUMN "Owner.TableName" FORMAT A61 COLUMN "Comments" FORMAT A61 WRAP WORD VARIABLE v_table_name VARCHAR2(30) SET FEEDBACK OFF EXECUTE :v_table_name := '&1'; SET FEEDBACK ON SELECT tbls.owner||'.'||tbls.table_name "Owner.TableName" ,cmts.comments "Comments" FROM all_tables tbls ,all_tab_comments cmts WHERE tbls.table_name LIKE DECODE(SUBSTR(UPPER(:v_table_name),INSTR(UPPER(:v_table_name),'.')+1) ,'ALL','' ,'/' ,'' ,SUBSTR(UPPER(:v_table_name),INSTR(UPPER(:v_table_name),'.')+1))||'%' AND tbls.owner LIKE NVL(SUBSTR(UPPER(:v_table_name),1,INSTR(UPPER(:v_table_name),'.')-1),USER)||'%' AND tbls.owner = cmts.owner AND tbls.table_name = cmts.table_name;