Columns Counting

Could you pls tell me how to count the number of columns for a specific Datatype in a table.
E.g my table contain these columns:
Colname Datatype
Col1 Number
Col2 Number
Col3 Varchar2(30)
Col4 Varchar2
Col5 Date
Now How to write a query which could tell me how many cols are there having datatype of Varchr2(30), Varchar2, Date and Number.

Look at the data dictionary view all_tab_columns.

Similar Messages

  • Java.sql.SQLException: Invalid column count. Cannot be less or equal to zer

    Hi,
    update method working but java.sql.SQLException: Invalid column count. Cannot be less or equal to zero is thorwn...
    value's are updating...how can i handle this exception...pls anybody help me
    related java file(IDE) generated file
    public void setColumnCount(int columnCount) throws SQLException {
    if (columnCount <= 0) {
    throw new SQLException("Invalid column count. Cannot be less " +
    "or equal to zero");
         }

    The idea behind drag'n'drop visual editors and code-generators is nice. But they are not intented to be used by developers who don't understand what they do.
    With other words, keep away from those visual editors and code generators as long as you're unexperienced with Java. Write code at your own. You will learn and grow gratefully.

  • Import CSV file: column count mismatch by always 1

    Hello,
    I am trying to import data from a CSV file into a HANA db table with an .hdbti file.
    I have a large structure of 332 fields in the table. When I activate the files to start the import, I always get the following message:
    CSV table column count mismatch. The CSV-file: Test.data:data.csv does not match to target table: Test.data::test. The number of columns (333) in csv record 1 is higher than the number of columns (332) in the table.
    But even if I delete the last column in the CSV file, the message stays the same. I also tried adding an additional field in the table on HANA, but then the column numbers in the error message just increase by 1. Then the message is: The number of columns (334) in csv record 1 is higher than the number of columns (333) in the table.
    So, it seems, whatever I do, the system thinks always that the csv file has one column too much.
    With another smaller structure of 5 fields, the import worked that way.
    Do you have an idea what the problem could be?
    Regards,
    Michael

    Hi Michael,
    It may be coz of delimiter problem or something. Can you paste the control file content here. So that i can check it out. Issue may be in your control file.
    Also if you can show the contents of the your *.err error log file, we can have a broader picture.
    Regards,
    Safiyu

  • Column count doesn't match value count at row 1, unknown number of columns

    Hi,
    I am making a program to read data from excel files as the above and store them in tables. I have managed to read all the data from excel files as a string and store them in a table.
    ID Name Salary
    50 christine 2349000
    43 paulina 1245874
    54 laura 4587894
    23 efi 3456457
    43 jim 4512878
    But in my project I have several other files that have same cell that are blank as the above example
    ID Name Salary
    50 christine 2349000
    43 paulina
    laura 4587894
    23 3456457
    43 jim 4512878
    and when i ran the same program i get this exception :
    SQLException: Column count doesn't match value count at row 1
    SQLState: 21S01
    VendorError: 1136The code for creating the table and inserting the values is above:
    private static String getCreateTable(Connection con, String tablename,
                        LinkedHashMap<String, Integer> tableFields) {
                   Iterator iter = tableFields.keySet().iterator();
                   Iterator cells = tableFields.keySet().iterator();
                   String str = "";
                   String[] allFields = new String[tableFields.size()];
                   int i = 0;
                   while (iter.hasNext()) {
                        String fieldName = (String) iter.next();
                        Integer fieldType = (Integer) tableFields.get(fieldName);
                        switch (fieldType) {
                        case Cell.CELL_TYPE_NUMERIC:
                             str = fieldName + " INTEGER";
                             break;
                        case Cell.CELL_TYPE_STRING:
                             str = fieldName + " VARCHAR(255)";
                             break;
                        case Cell.CELL_TYPE_BOOLEAN:
                             str = fieldName + " INTEGER";
                             break;
                        default:
                             str = "";
                             break;
                        allFields[i++] = str;
                   try {
                        Statement stmt = con.createStatement();
                        try {
                             String all = org.apache.commons.lang3.StringUtils.join(
                                       allFields, ",");
                             String createTableStr = "CREATE TABLE IF NOT EXISTS "
                                       + tablename + " ( " + all + ")";
                             System.out.println("Create a new table in the database");
                             stmt.executeUpdate(createTableStr);
                        } catch (SQLException e) {
                             System.out.println("SQLException: " + e.getMessage());
                             System.out.println("SQLState:     " + e.getSQLState());
                             System.out.println("VendorError:  " + e.getErrorCode());
                   } catch (Exception e)
                        System.out.println( ((SQLException) e).getSQLState() );
                        System.out.println( e.getMessage() );
                        e.printStackTrace();
                   return str;
              private static void fillTable(Connection con, String fieldname,
                        LinkedHashMap[] tableData) {
                   for (int row = 0; row < tableData.length; row++) {
                        LinkedHashMap<String, Integer> rowData = tableData[row];
                        Iterator iter = rowData.entrySet().iterator();
                        String str;
                        String[] tousFields = new String[rowData.size()];
                        int i = 0;
                        while (iter.hasNext()) {
                             Map.Entry pairs = (Map.Entry) iter.next();
                             Integer fieldType = (Integer) pairs.getValue();
                             String fieldValue = (String) pairs.getKey();
                             switch (fieldType) {
                             case Cell.CELL_TYPE_NUMERIC:
                                  str = fieldValue;
                                  break;
                             case Cell.CELL_TYPE_STRING:
                                  str = "\'" + fieldValue + "\'";
                                  break;
                             case Cell.CELL_TYPE_BOOLEAN:
                                  str = fieldValue;
                                  break;
                             default:
                                  str = "";
                                  break;
                             tousFields[i++] = str;
                        try {
                             Statement stmt = con.createStatement();
                             String all = org.apache.commons.lang3.StringUtils.join(
                                       tousFields, ",");
                             String sql = "INSERT INTO " + fieldname + " VALUES (" + all
                                       + ")";
                             stmt.executeUpdate(sql);
                             System.out.println("Fill table...");
                        } catch (SQLException e) {
                             System.out.println("SQLException: " + e.getMessage());
                             System.out.println("SQLState: " + e.getSQLState());
                             System.out.println("VendorError: " + e.getErrorCode());
                   }To be more specific the error it in the second row where i have only ID and Name in my excel file and only these i want to store. The third row has only Name and Salary and no ID. How i would be able to store only the values that i have and leave blank in the second row the Salary and in the third row the ID? Is there a way for my program to skip the blanks as empty value?
    Edited by: 998913 on May 9, 2013 1:01 AM

    In an unrelated observation, it appears you are creating new database tables to hold each document. I don't think this is a good idea. Your database tables should be created using the database's utility program and not programmatically. The database schema should hardly ever change once the project is complete.
    As a design approach: One database table can hold your document names, versions, and date they were uploaded. Another table will hold the column names and data types. Another table can hold the data (type for all data = String). This way, you can join the three tables to retrieve a document. Your design will only consists of those three tables no matter how many unique documents you have. You probably should seek the advice of a DBA or experienced Java developer on exactly how structure those tables. My design is a rough layout.

  • Column count of dynamic query

    how can ı find column count of dynamic query
    is there a simple way
    thanks

    You can use DBMS_SQL to facilitate this:
    CREATE OR REPLACE FUNCTION count_sql( p_sql IN CLOB )
    RETURN INTEGER
    AS
            lv_cursor_id    INTEGER;
            lv_columns      DBMS_SQL.DESC_TAB;
            lv_column_count INTEGER;
    BEGIN
            -- Open Cursor
            lv_cursor_id := DBMS_SQL.OPEN_CURSOR;
            -- Parse Cursor
            DBMS_SQL.PARSE
            ( c             => lv_cursor_id
            , statement     => p_sql
            , language_flag => DBMS_SQL.NATIVE
            -- Describe Columns
            DBMS_SQL.DESCRIBE_COLUMNS
            ( c       => lv_cursor_id   
            , col_cnt => lv_column_count
            , desc_t  => lv_columns
            -- Close Cursor
            DBMS_SQL.CLOSE_CURSOR(lv_cursor_id);
            RETURN lv_column_count;
    END count_sql;
    /Example:
    SQL > SELECT * FROM V$VERSION;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE    11.2.0.1.0      Production
    TNS for 32-bit Windows: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    SQL > SELECT count_sql('SELECT dummy, dummy, CASE WHEN dummy = ''X'' THEN 1 ELSE 0 END AS col FROM DUAL') FROM DUAL;
    COUNT_SQL('SELECTDUMMY,DUMMY,CASEWHENDUMMY=''X''THEN1ELSE0ENDASCOLFROMDUAL')
                                                                               3
    SQL > SELECT count_sql('SELECT dummy, dummy, dummy, ''Y'' FROM DUAL') FROM DUAL;
    COUNT_SQL('SELECTDUMMY,DUMMY,DUMMY,''Y''FROMDUAL')
                                                     4Hope this helps!

  • Variable Screen (F4 Popup) masterdata attribute column count

    Hi Experts,
    I need to show 5 columns in variable popup screen but more than 3 columns can be accessed with scrollbar only. How can I increase column count in F4 popup screen?
    You can find example screenshot in this link: [Screenshot|http://g.imagehost.org/view/0766/soru]
    Thanks in advance,
    Ergin

    Hi,
    I think there is no customizing for variable screen possible eg scroll bars, title.
    See:
    Re: Customise variable screen in WAD
    Web Reporting - Variable Screen - Title of Report
    Regards
    Andreas

  • Setting column count dynamically for a Group

    Hi Experts,
    i want to set the column count dynamically for a group.
    Thnks,
    Ramani.

    You probably mean you want to change the colCount value for a GridLayout (assigned to a Group), right?
    To change this property from a view controller method, you can
    - create a boolean context attribute "changeColCount" and set it to true in the controller method
    - check this flag in method wdDoModifyView(), access the GridLayout instance and change the colCount value
    - reset the flag afterwards
    Armin

  • Count(*) returns 'Column 'Count' not found' SQLException

    I am trying to get the count from a table using the following:
    String query = "SELECT COUNT(*) FROM myTable;"
    I know that the connection is open and working because I am getting back an SQLException:
    'Column 'Count' not found' .
    The same command works fine at the command line. I would be grateful for any suggestions as to why JDBC sends my app searching for a field named count in my table whereas the command line returns the expected number.
    Thanks.

    Found the problem, which is mainly my own stupidity . Is it one of Murphy's laws that the quickest way to find the solution to a problem if first embarrass yourself by asking foolish questions? Sorry to have bothered anyone.

  • JDBC - Column Count Method/Function

    Please Help!!!
    Are there any methods in ResultSet, Java, or SQL that can return the numbers of columns selected?
    Example, below are the table name and field names:
    Table: Customers
    Fields: CustomerID,LastName,FirstName,PhoneNumber
    In my code:
    ResultSet rs = stmt.executeQuery("select * from Customers");
    Now, are there any methods in ResultSet, Java, or SQL that can return the column counts, 4?

    See ResultSetMetaData.getColumnCount().

  • How to get the column count at the bottom of the column

    Hi Friends,
    How to get the column count at the bottom of the column
    Thanks
    Raj

    You mean row count? Add another column, click on the fx button and type RCOUNT(1).
    If you want just the total you can make it MAX(RCOUNT(1)), hide this column and then add a Narrative View after your report and enter "Total Number of Records: @n" where "n" represents what order your column is from the left side.

  • Child table child column count based on pareent table

    Hi ,
    I have requirement to generate a report .
    based on parent table I want find out child table and child key count.
    In the below query i will give parenet table name it will give child table details and child key details
    "SELECT b.table_name as table_name , d.column_name, b.R_CONSTRAINT_NAME
    FROM user_constraints a, user_constraints b, user_ind_columns c, user_cons_columns d
    WHERE a.constraint_type = 'P' AND
    a.CONSTRAINT_NAME = b.R_CONSTRAINT_NAME AND
    b.CONSTRAINT_TYPE = 'R' AND
    a.table_name = c.table_name AND
    a.constraint_name = c.index_name AND
    b.CONSTRAINT_NAME = d.constraint_name AND
    a.table_name = 'TABLENAME' "
    eg ; here I will give dept table name I want emp table details
    Example output
    Childtable. Childkey Count
    EMP 10 5
    EMP 20 10
    EMP 30 5
    .....etc.
    Please any body has solution for my requirement please help me .
    Thanks
    Edited by: tmadugula on Oct 26, 2012 6:25 AM
    Edited by: tmadugula on Oct 26, 2012 6:28 AM
    Edited by: tmadugula on 26 Oct, 2012 11:08 AM
    Edited by: tmadugula on 26 Oct, 2012 11:21 AM
    Edited by: tmadugula on 26 Oct, 2012 11:30 AM

    Is what you are really asking is how many FK point to a specific table? If so, then you do not need the join to user_ind_columns or to user_cons_columns. You just join user_constraints to itself on a.r_constraint_name = b.constraint_name and b.table_name = target_table
    A FK has to point to the PK or UK of the referenced table so the number of columns pointed to will equal the number of columns in the constraint so I see no need to try to count the individual column references as it will equal the number of FK to the PK or UK constraint.
    HTH -- Mark D Powell --

  • Finding column count with dynamic columns and dynamic tables

    I've done some PL/SQL for awhile now but was trying to devise a solution for the following problem:
    I wish to find the number of times a specific value for a column exists in all the tables that contain the field and I have access to see with the current user. The column name and value will be passed in via parameters.
    I was hoping to use something like
    select table_name from all_tab_columns where column_name = <variable table name>;
    then use the results from this to create a select statment based off the tables from the select above. I know the difference between dba_tab_columns and all_tab_columns - I want to make sure that I only retrieve the values i have access to.
    Can anyone point me to some guide / website / reference material I can read to catch up on the idea of creating this statment?
    Thank you.

    Hi,
    it's a test version.
    You can naturally tune it, but it seemed to work:
    declare
    pi_column VARCHAR2(30) := 'DEPTNO';
    pi_value VARCHAR2(4000) := '20';
    v_count NUMBER := 0;
    v_count_tab NUMBER;
    BEGIN
    FOR I IN (select owner, table_name from dba_tab_columns
              where column_name = pi_column
    LOOP
        EXECUTE IMMEDIATE 'SELECT count(*) FROM '||i.owner||'.'||i.table_name||
                          ' WHERE '||pi_column||' = :pi_value'  INTO v_count_tab USING pi_value; 
        v_count := v_count + v_count_tab;
    END LOOP;                   
    dbms_output.put_line(v_count);
    END;Regards

  • Logical Aggregate Column (count(distinct)) Does Not Group for SQL Server DB

    When utilizing the count(distinct column_name) aggregate function within a Logical Fact source in the Business Model and Mapping layer in the RPD file the output in BI Answers is not grouping correctly for SQL Server 2008 database sources only. All Oracle database sources represent the same aggregate column correctly within BI Answers.
    I am using OBIEE version 10.1.3.3.3
    Does anyone know how to resolve this issue?
    Thanks in advance,
    Kyle

    I thought that I would update my current findings with this issue. If you display the report in BI Answers as a Pivot Table view the aggregate column displays properly, it does not in a Table or Compound Layout view for some reason. I am still working with Oracle Support on this.

  • Row/column counter for tables

    Hello,
    I know this is very basic, but so far examples I dug up don't really anything remotely to what I want.
    I have 3 databases. Well they are defined as "connections" in SQLDeveloper I hope that's the same I am still not used to Oracle abstractions.
    Each has several tables. All I want is loop through each of the 3 DBs and log row count and table count.
    Say DB1:
    Rows: Columns:
    Table1: x y
    Table2: x y
    I don't really care what's inside them. I found one example that did it but it listed some system tables that aren't part of my db. Changing "owner" didn't really help.
    From the value of the variable "Owner" means a database, is that correct?
    Oh and I also don't care if the code is "inefficient", tables aren't that big.
    Thanks in advance.
    Edited by: 940349 on Jun 14, 2012 6:22 AM

    not sure what you are planning to achieve, but you can use below query to get owner of table, table name , column name, number of tables by owner and number of column in a table (belonging to owner). This will require access to dba_tab_columns.
    select owner,table_name,count(*) over(partition by owner) count_table,column_name,count(*) over(partition by owner,table_name) count_column from dba_tab_columns;

  • 919: Column count replaces query count when opening table/view/etc tab

    I don't know whether this is intentional or not, but I have just noticed that opening a table or view tab from the connection pane replaces the existing query count message with the query count from the column query. For example, opening a table tab for a table with 14 columns sets the query count message to "All Rows Fetched: 14".
    This is not a big issue, but adds to the aggravation of only having the latest query count message, rather than one for each SQL Worksheet.
    Is it possible to find somewhere on the SQL Worksheet that we can put it's query count message (for example to the right of the execution time)?

    I am happy for querying the columns of a table/view/etc to display the fetch count of the columns, although I am rarely interested in how many columns there are in a table/view/etc.
    However, I already find it frustrating that the query count is only for the last fetch - it can be very useful having the query count for last fetch per SQL Worksheet. Having the last fetch overwritten by opening a table tab only makes it more frustrating.

Maybe you are looking for

  • Please bring back an option to Add Scroll Arrows!?

    Mac OS X v10.7 Lion - has removed scrollbars and changed the direction of scrolling to better align with iphones, ipads, etc.  Thankfully, there are options to go back to behavior similar to classic scrolling behavior, with one important exception. 

  • How do you deploy an application to a user?

    I want to setup SCCM so that IT can deploy applications to users. I know that SCCM allows the publishing of a library to allow users to accept and deploiy applicatiosn themseves but I don't want that. I just need to know how to deploy the application

  • App for Windows 8 are really bad

    The apps Microsoft made for Skype are really bad. Any chance for a update so you have some chance of getting to things like call and chat and make it more clear who are online. Out of a lot of bad apps for windows 8 this take the cake!!

  • Why can't I access my iCloud-stored Pages document on my iPhones (Pages iOS)?

    I have the latest iOS my 2 phones.  I have an iCloud account.  The phones are connected to the net. I have the current version of the Pages iOS app on each phone.  I have several Pages documents on my iPhones (created there, locally) and I am able to

  • Shuffling movies

    Does anyone know if it is possible to shuffle your movies? Say I created a playlist of short movies and I wanted to watch them all without manually starting each one every time the last one just ended. Is this possible? iMac   Mac OS X (10.4.6)