To find out empty tables in a database

Hi all,
        I have a database which gets its daily feed from a ftp file. Now is there any way i can figure out the empty tables in the databese which doesnot get any data on the feed.
Thanks in advance,

That's a cool little function.
In case it ever DOES go away in future versions of SQL Server, this will do the same thing:
--Here is the command template:  
declare @cmdtemplate nvarchar(500)  
set @cmdtemplate='if exists(select * from ?) print ''Table ? is not empty.''' 
--Set up the batch of commands, one for each table, substituting ? for the table name:  
declare @cmdbatch nvarchar(max)  
select @cmdbatch=coalesce(@cmdbatch+'; ','')+replace(@cmdtemplate,'?',TableName)  
from (select quotename(Table_Schema)+'.'+quotename(Table_Name) as TableName  
      from INFORMATION_SCHEMA.TABLES  
      where Table_Type='BASE TABLE') as q  
--Execute that batch of commands:  
exec sp_executesql @cmdbatch  
--Brad

Similar Messages

  • Query to find out empty records

    Hi experts,
    I want to find out those tables in my databases which does not have any records or data. I have many tables in my databases which are totally empty. Please help me to build a query . Which database view i should access to find out the tables with empty records? Please help.

    Hello,
    Just pass the user list you want to count and not admin users or other default users.
    SELECT owner, table_name, num_rows
          FROM dba_tables
          WHERE owner IN ('MYUSER','OTHERUSER');or this
    DECLARE
       CURSOR mycur
       IS
          SELECT owner, table_name, num_rows
          FROM dba_tables
          WHERE owner NOT IN ('SYS', 'SYSTEM', 'SYSMAN', 'OUTLN')
                AND iot_name IS NULL;
       v_sql     VARCHAR2 (100);
       v_count   NUMBER := 0;
    BEGIN
       FOR cur IN mycur
       LOOP
          v_sql     := NULL;
          v_count   := 0;
          v_sql     :=
             'select count (*) from ' || cur.owner || '.' || cur.table_name;
          EXECUTE IMMEDIATE v_sql INTO v_count;
          IF (v_count = 0)
          THEN
             DBMS_OUTPUT.put_line(   'Table name = '
                                  || cur.table_name
                                  || ' rows '
                                  || v_count);
          END IF;
       END LOOP;
    END;Regards

  • How to search this value in oracle database to find out the table

    Hi expert,
    I know there is a value in oracle database, please show me how to search this value in oracle database to find out the table holding this value.
    Many Thanks,

    918440 wrote:
    Hi friends,
    this question is really practical, I already know there is value from application saved in database, I want to search the whole database to figure out which table the value is contained.write SQL that writes SQL to query every table.
    Handle:     918440
    Status Level:     Newbie
    Registered:     Mar 2, 2012
    Total Posts:     20
    Total Questions:     10 (10 unresolved)
    why do you waste time here when you NEVER get any answer to any question you post?

  • How to find out the table name

    hi,
    how to find out the table name in which the data from a particular structure in a particular screen is saved,
    please tell me the procedure to find out the table name for saving the structure data that is inputted at runtime.
    Thanks,
    chinnu

    Hi Chinnu,
    Below are the tables that are referred to find out the table names
    DD02L Table contains the SAP Tables.
    DD02T Table contains the SAP Table Texts.
    DD01L Table contains the Domains
    DD01T Table contains the Domain Texts.
    DD03L Table contains the Table Fields.
    DD03T Table contains the Table Field Texts. (Language Dependent)
    DD04L Table contains the Data Elements.
    DD04T Table contains the Data Element Texts.
    DD05s Table contains the Foreign Key Fields
    last words with L and T only. L->Database Fetch T-> Text
    And the procedure to retrive the table name is as follows
    1. Go to se11
    2. Enter table name DD03T and execute
    3. In the next screen you can find Tables, fields, test etc. there you can enter the field name in the fields 
      and execute.
    4. you can get all tables which contains the field.
    I hope this will solve your problem
    Regards,
    Chandru

  • How can i find out the table hierarchy

    Hi experts,
    I have one doubt. how can i find out the table hierarchy in the particular schema.
    Let me explain my requirement in detail.. In my Database i have nearly 250 table each table have it's own temporary table(for authorization purpose we are maintaining the temporary tables) for each day i have to clear the temporary table data.
    All temporary table connected with each other. i mean all the table having foreign key relationship.. while i attempt the delete the data from the temporary table it showed ORA-02292: integrity constraint  violated - child record found.
    So can any one please tell how can i delete the child table record first and then parent record table record.
    Thanks in advance
    Arun

    CREATE OR REPLACE FUNCTION get_child_tables (
    ptable VARCHAR2,
    powner VARCHAR2 DEFAULT 'SCOTT',
    plevel NUMBER DEFAULT 10
    RETURN stringarray
    -- -- create this ON SQL*PLUS "CREATE OR REPLACE TYPE STRINGARRAY AS TABLE OF VARCHAR2(50);"
    -- AUTHID CURRENT_USER
    PIPELINED
    AUTHOR DATE VERSION COMMENTS
    ======================================================================================
    [email protected] 26-OCT-2009 1.0 Developed to ease developers effort to find Nth level of Referential integrity
    ======================================================================================
    -- PURPOSE -> To find PARENT=> CHILD relational TABLE(S) in Oracle upto a depth max N Level.
    --SYNTAX TO USE
    SELECT * FROM TABLE( get_child_tables('DEPT','SCOTT',3)); Store this query in a file for your use
    SELECT * FROM TABLE( get_child_tables('EMPLOYEE')); Store this query in a file for your use
    -- RESULTS looks as below
    --1 => DEPT
    --2 => EMP
    --2 => EMP2
    --3 => EMP_CHILD
    --3 => EMP2_CHILD
    -- and so on
    --This can be leveraged to use in any oracle database REGION 10g having and above.
    --This FUNCTION gives formatted result of the Oracle 10g Hierarchical query result coded in the cursor
    --to find MASTER => CHILD relational TABLE(S) upto a depth max 10 Level.
    --The result of the PIPELINED function can be retrieved using Oracle new operator
    --TABLE(array name) in SQL query.
    --Due to the AUTHID CURRENT_USER compiler directive any user can use based on his/her access privileges on the database.
    --GRANT EXECUTE ON SCOTT.get_child_tables TO PUBLIC;
    --CREATE OR REPLACE PUBLIC SYNONYM get_child_tables FOR SCOTT.get_child_tables;
    IS
    atname stringarray := stringarray ();
    -- create this ON SQL*PLUS CREATE OR REPLACE TYPE STRINGARRAY AS TABLE OF VARCHAR2(50);
    vlevel NUMBER;
    vtname VARCHAR2 (50);
    nindex NUMBER := 0;
    bprocessed BOOLEAN := FALSE;
    CURSOR c1 (powner_in IN VARCHAR2, ptable_in VARCHAR2, plevel_in NUMBER)
    IS
    SELECT LEVEL, LPAD (' ', (LEVEL - 1) * 2, ' ') || pt AS "TNAME"
    FROM (SELECT a.owner w1, a.table_name pt, a.constraint_name c1,
    a.r_constraint_name r1, b.owner w2, b.table_name ct,
    b.constraint_name c2, b.r_constraint_name r2
    FROM all_constraints a, all_constraints b
    WHERE a.constraint_name = b.r_constraint_name(+)
    AND a.owner = b.owner(+)
    AND a.owner =
    UPPER (powner)
    -- Change Owner here while testing
    --AND A.r_constraint_name IS NULL
    AND a.constraint_type IN ('P', 'R')) v1
    START WITH pt =
    UPPER
    (ptable)
    -- Change your master table here while testing the QUERY
    CONNECT BY PRIOR ct = pt AND LEVEL <= plevel;
    -- Change lavel here while testing
    BEGIN
    atname.EXTEND;
    atname (1) := 'NOTHING';
    OPEN c1 (powner, ptable, plevel);
    LOOP
    bprocessed := FALSE;
    FETCH c1
    INTO vlevel, vtname;
    IF nindex > 1 AND atname (atname.LAST - 1) = vtname
    THEN
    --DBMS_OUTPUT.PUT_LINE('2 ==== vtname  ' ||vtname || '   '|| atname.count|| '   '||atname.last ||  '   '||atname( atname.last-1));
    bprocessed := TRUE;
    END IF;
    IF NOT bprocessed
    THEN
    nindex := nindex + 1;
    atname.EXTEND;
    atname (nindex) := vtname;
    PIPE ROW (vlevel || ' => ' || vtname);
    DBMS_OUTPUT.put_line ( ' **** nindex - atname( nindex) '
    || nindex
    || ' - '
    || atname (nindex)
    DLOG('ADDING ',vTname); A LOGGING ATONOMUS PROCEDURE FOR DEBUG PURPOSE
    END IF;
    EXIT WHEN c1%NOTFOUND;
    END LOOP;
    CLOSE c1;
    FOR i IN 1 .. atname.COUNT
    LOOP
    DBMS_OUTPUT.PUT_LINE('atname (i) ' ||atname (i));
    END LOOP;
    RETURN;
    EXCEPTION
    WHEN no_data_needed
    THEN -- THIS EXCEPTION HAS TO BE THERE TO GET THE FUCTION WORKABLE
    DBMS_OUTPUT.put_line (SQLERRM);
    RETURN;
    --SELECT * FROM TABLE( get_child_tables('TB_XOP_LETR_TEMPLATE','OPS$CMS',5));
    END get_child_tables;
    Edited by: user3066657 on Jul 21, 2011 8:42 AM
    Edited by: user3066657 on Jul 21, 2011 11:26 AM

  • How to find out updated table?

    HI all,
    I want to know the tables in which any field data is updated. For e.g. if i enter a name of a product i want to know all the tables in which this name is updated . How do i do that?
    Regards,
    Madhu.

    Hi Madhu,
    Do the following steps in order to find out the table in which the field data was updated:
    - Place your cursor in the field for ex. while creating product place your cursor on Material Name and then press F1.
    - You will be getting a Performance Assistant screen giving some details about that field for ex. Product ID. On the top of the screen in the toolbar there is a button called technical information (fourth from left), once you press that you will be getting all the technical information.
    - Here you will be getting the Database Table Name, Field Name, Data Element where the entry was updated. for ex., COMM_PRODUCT (Table Name), PRODUCT_ID (Field Name), COMM_PRODUCT_ID (Data Element) etc.,
    Wish this information was useful to you
    regards
    Srikantan

  • Query to find the biggest table in the database..!!!

    Hello everybody,
    i have more than 600 tables in the database i need to find the biggest table in the database and want to order it in descending pattern..
    Is there any query for this task...
    Rgds
    Harsh.

    What version of Oracle? Do you use the CBO or the RBO? If you use the CBO, are your statistics accurate? Can you tolerate having approximate rowcounts?
    SELECT table_name, num_rows
      FROM user_tables
    ORDER BY num_rowsmay be what you're looking for, but
    - num_rows is populated when you gather statistics, so it'll be empty if you're using the RBO
    - num_rows may be an approximate number, depending on how you're gathering statistics
    - num_rows only reflects the size at the instant you gathered statistics. It is not maintained in real time.
    I'm guessing, though, that this is close enough for whatever you're doing.
    Justin

  • How do i find out the tables (data)effected in a schema after a particular time stamp

    how do i find out the tables (data not structure)effected in a schema after a particular time stamp?
    pls email in [email protected]

    You can't do that. That would be a real security risc.
    /KAj

  • How do i find out the tables effected in a schema after a particular time stamp

    how do i find out the tables effected in a schema after a particular time stamp?
    pls email in [email protected]

    If you are doing a reload every time then you can issue following commands to clear data from cube.
    lmt name to all
    allstat
    clear all from <cubename>prttopvar
    You can wrap above commands in pl sql procedure using dbms_aw.execute package and execute it before cube load starts. Instead of clearing it from whole cube you can clear only from one partition also. Just take a look at clear command in olap DML 10.2 reference.
    Thanks,
    Brijesh
    Edited by: Brijesh Gaur on Aug 10, 2010 6:47 AM

  • How to find out which table store historical data for V_T001B?

    dear all,
    how i want to trace and find out which table that store all maintenance data history from V_T001B?
    thanks.

    i already find out into both table... but the data not store there...

  • How to find out the tables from extract structures

    Hi All,
    As I know my data sources are 2lis_04_p_matnr,2lis_04_p_comp,2lis_04_p_arbpl.
    How to find out the tables concerned with the fields in the extract structure.
    Thanks

    Pl check this link:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/29/79eb3cad744026e10000000a11405a/frameset.htm
    OR navigate to: help.sap.com - netweaver - bi content - supply chain - look for your application area and the extractor and you will see the source tables and fields.
    Ravi Thothadri

  • How to find out the tables related to CRM datasources?

    How to find out the tables related to CRM datasources? For example, the table related to 0CRM_OPPT_H.
    Regards,
    R.Ravi

    Hi Ravi,
    To find out all tables used go into the CRM source system to transaction RSA3 and prepare the selections for extraction of your datasource.
    In a parallel session execute transaction ST05 and press the button 'Activate Trace'
    Go back to the extracor checker and execute the extraction.
    Switch sessions and subsequently 'Deactivate Trace' and 'Display Trace'.
    This will list all tables used.
    regards,
    Olav

  • How to find out the table, data for the IDOCS is pulled from?

    HI
    The ZFPH9999397 VENDOR FEED job runs the RBDMIDOC program with the variant Z9999_397.  This creates IDOCS that are sent out and eventually wind up in IMOS.
    The IDOC Type is CREMAS.
    Can you tell me which table or tables the data for these IDOCS is pulled from?
    Or tell me the procedure to find out the table name.
    Thanks,
    das.
    Edited by: sathish dasari on Dec 10, 2009 11:54 AM

    You can use Transp. Table      TBD62 .
    enter Message Type                      CREMAS
    you will get the list of tables and the fields from which data is pulled based on the change pointers in Transp. Table      BDCP.

  • How to find out the size of a database?

    I'm not an oracle dba but a report developer. I'd like to find out the size of my database.
    Is this possible using simple query?

    An oracle database consists of data files, redo log files, control files, temporary files. Whenever you say the size of the database this actually means the summation of these files.
    select a.data_size+b.temp_size+c.redo_size+d.controlfile_size "total_size in MB"
    from
    ( select sum(bytes)/1024/1024 data_size from dba_data_files ) a,
    ( select nvl(sum(bytes),0)/1024/1024 temp_size from dba_temp_files ) b,
    ( select sum(bytes)/1024/1024 redo_size from sys.v_$log ) c,
    ( select sum(BLOCK_SIZE*FILE_SIZE_BLKS)/1024/1024 controlfile_size from v$controlfile) d;
    here
    a is megabytes allocated to ALL datafiles
    b is megabytes allocated to ALL TEMP files
    c is megabytes allocated to ALL redo-logs
    d is megabytes allocated to ALL control files
    Nimish Garg
    Software Developer
    *(Oracle & ASP.NET)*
    Indiamart Intermesh Limited, Noida
    To Get Free Oracle & ASP.NET Code Snippets
    Follow: http://nimishgarg.blogspot.com

  • URGENT: How to find out the Tables for Routines  in BW.

    Hi BW Gurus,
    How to find out the Tables for Routines  in BW.
    I have this routine id <b>45XFAEI7LKIFIRDUKQG127YWW</b> and it is in inactive state and i want to activate it.
    thanks in advance,
    points will be rewarded.
    Regards,
    Maruthi.

    Hi Maruthi,
    Check table RSUPDROUT using the routine id as input for the field CODEID. You will get the technical name of the update rule.
    Cheers,
    Praveen.

Maybe you are looking for

  • Excise modvat accounts not defined for GRPO transaction and 58 Excise group

    Hi Experts, When i am doing Goods receipts for Depot for Subcontracting i am getting this error message .Excise modvat accounts not defined for GRPO transaction and  Excise group. For Depot no modvat. is there any configuration setting for depot. Ple

  • Float.NaN doesn't seem to work with appserver7

    I am in the process of upgrading an existing application that uses Float.NaN for invalid values when persisting to the database. I am upgrading from just using SQL statements to entity beans for the persistence layer. Is Float.NaN or Double.NaN not s

  • File Adapter - Multiple Record Types to same Target

    I am currently reading in a fixed length file and loading into a table. The issue is, some of the lines in my file differ by two spaces at the end. See example below. For example, Record 1 might look like : DD/MM/YY - length of 8 Record 2 might look

  • WRT54GS relocated from US to Switzerland

    Hi, I have an old WRT54GS (version 1) that I've used in the States and have now taken with me to Switzerland.  I'm having a difficult time getting it to work over here.  I've reset it several times and gone through the set up, I've updated the firmwa

  • Run procedure in background

    Hello everybody. Happy chrismast and happy new year to all. One simple question. How I can call a PL/SQL procedure and run it in background mode from other PL/SQL procedure? Thanks in advanced & best regards to all.