I want a smiple sql query  to create a calender

Hi,
I can not find my sql query to create a calender.
It is just the one who already shows when you create a calender.
I am writing documentation and I have no acces to Oracle Portal anymore.
Can somebody give me that sql query ?
Thanks a lot,
Chu Lam

Hi,
This the one.
select
EMP.HIREDATE the_date,
EMP.ENAME the_name,
null the_name_link,
null the_date_link,
null the_target
from SCOTT.EMP
order by EMP.HIREDATE
Thanks,
Sharmila

Similar Messages

  • SQL QUERY to create new schema in Oracle 10g Express

    Can anyone provide the SQL query to create a new schema in Oracle 10g Express edition.

    Can anyone provide a SQl query to create a
    schema/user named 'test' with username as 'system'
    and password as 'manager'system user is created during database creation, it's internal Oracle admin user that shouldn't be used as schema holder.
    In Oracle database, Oracle user is schema holder there's no seperate schema name to be defined other than username.

  • Use the results of an SQL query to create another query

    I am working on a bidding/allocation system using C# and MySQL, and I am currently having difficulty implementing the “post-allocation” mechanics of the system. Let me explain how it works, before introducing the code:
    When the bids are made on the system, they all have the position 0, so the first thing the system does is order them according to priority.
     (bid table)
    In this case, 5 bidders are interested in what is in plot 15, but we have not assigned them a position yet.
     (bid table)
    The system then organises the bids according to the order in which they are going to processed.
    The bids are then allocated, but unfortunately there are only 3 spaces in plot 15 that can be allocated. As a result, we use the priority listing to determine which bidder gets what.
     (booking table)
    At this stage, I can say that I am stuck, there are two things that I want to do, both of which involve reusing the results of the query at step 2.
     (bid table)
    The bidders that have their job allocated should see: their bid.status updated
    from Queued to Allocated,
    the bid.position should
    be set to 0,
    and their job_id should
    be set to the booking they have been allocated (i.e. booking.id).
    The bidders that have not had their jobs allocated should see: their bid.status remain
    as Queued, and their bid.position should
    be set to 0 in
    preparation for the method to run again
    The difficulty I am having is in stage 3, how do I determine which jobs have been allocated and which ones have not, and then run the necessary SQL queries in order to make the updates?
    My code so far is as follows:
    // STEP 1a - SELECT BIDS
    string query =
    "SELECT t1.operator_id, t1.datetime, t1.plot_id, t1.position, t2.market_access FROM bid t1 " +
    "JOIN operator t2 ON t1.operator_id = t2.id WHERE t1.status='Queued' AND t1.postcode=@postcode " +
    "ORDER BY t2.market_access ASC, t1.datetime ASC";
    var bidList = new List<BidList>();
    var cmd = new MySqlCommand(query, _connection);
    cmd.Parameters.AddWithValue(("@postcode"), _plot);
    MySqlDataReader dataReader = cmd.ExecuteReader();
    while (dataReader.Read())
    var item = new BidList
    OperatorId = dataReader["operator_id"] + "",
    PlotId = dataReader["plot_id"] + "",
    Position = dataReader["position"] + "",
    Datetime = dataReader["datetime"] + "",
    MarketAccess = dataReader["market_access"] + "",
    bidList.Add(item);
    dataReader.Close();
    // STEP 1b - SET PRIORITIES
    for (var i = 0; i < bidList.Count; i++)
    var position = i + 1;
    bidList[i].Position = position.ToString();
    query = "UPDATE bid SET position=@position WHERE status='Queued' AND postcode=@postcode AND operator_id=@operator_id;";
    cmd = new MySqlCommand(query, _connection);
    cmd.Parameters.AddWithValue(("@position"), position);
    cmd.Parameters.AddWithValue(("@postcode"), _plot);
    cmd.Parameters.AddWithValue(("@operator_id"), bidList[i].OperatorId);
    cmd.ExecuteNonQuery();
    dataReader.Close();
    // STEP 2 - ALLOCATE JOBS ACCORDING TO PRIORITY
    foreach (var t in bidList)
    query = "SELECT operator_id, plot_id, status FROM booking " +
    "WHERE status='open' AND postcode=@postcode AND operator_id='0'" +
    "ORDER BY datetime ASC;" +
    "UPDATE booking SET operator_id=@operator_id, status='Allocated' " +
    "WHERE (plot_id=@plot_id AND operator_id='0' AND status='Open') LIMIT 1;";
    cmd = new MySqlCommand(query, _connection);
    cmd.Parameters.AddWithValue(("@operator_id"), t.OperatorId);
    cmd.Parameters.AddWithValue(("@postcode"), _plot);
    cmd.Parameters.AddWithValue(("@plot_id"), t.PlotId);
    cmd.ExecuteNonQuery();
    dataReader.Close();
    // STEP 3
    CloseConnection();

    I can't tell.  When modifying row(s) you have to be able to uniquely be able to identify the row(s) in the database you want to modify.  That is why I recommended the other day to use DataAdapter instead of the DataReader.  You can with the
    reader, but you need to unique identify the rows.
    I can't tell from the limited amount of data you posted if in table 2 that there is only one row with the same operator id and plot id.  It looks like in table 2 the 'id' number is unique.  When working with a database with multiple tables you
    need to be able to link tables together with primary keys (columns wit unique values).  If the database isn't designed properly then it is impossible to do some operations.  So you always have to make sure you design a database properly.
    jdweng
    When you say table 2 are you referring to the bid or booking table?
    Here is the table structure for the bid table
    Here is the table structure for the booking table
    Hope it helps makes things clearer!

  • SQL Query to create a Time Dimension at 15 mins granuality

    I need a query to generate Time Hierarchy for Year, Half Year, Qtr, Month, Week, Days, Hours, 15 minutes interval
    Pls share the query to generate the same or Excel sheet with the data.
    Thanks
    Anky

    Can you clarify your request a bit?
    Check the following blog for datetime sequence generation:
    http://www.sqlusa.com/bestpractices2005/sequence/
    Recursive CTE is used to generate the sequence.
    Hierarchical DimDate in AdventureWorksDW2012:
    CREATE TABLE [dbo].[DimDate](
    [DateKey] [int] NOT NULL,
    [FullDateAlternateKey] [date] NOT NULL,
    [DayNumberOfWeek] [tinyint] NOT NULL,
    [EnglishDayNameOfWeek] [nvarchar](10) NOT NULL,
    [SpanishDayNameOfWeek] [nvarchar](10) NOT NULL,
    [FrenchDayNameOfWeek] [nvarchar](10) NOT NULL,
    [DayNumberOfMonth] [tinyint] NOT NULL,
    [DayNumberOfYear] [smallint] NOT NULL,
    [WeekNumberOfYear] [tinyint] NOT NULL,
    [EnglishMonthName] [nvarchar](10) NOT NULL,
    [SpanishMonthName] [nvarchar](10) NOT NULL,
    [FrenchMonthName] [nvarchar](10) NOT NULL,
    [MonthNumberOfYear] [tinyint] NOT NULL,
    [CalendarQuarter] [tinyint] NOT NULL,
    [CalendarYear] [smallint] NOT NULL,
    [CalendarSemester] [tinyint] NOT NULL,
    [FiscalQuarter] [tinyint] NOT NULL,
    [FiscalYear] [smallint] NOT NULL,
    [FiscalSemester] [tinyint] NOT NULL)
    Kalman Toth Database & OLAP Architect
    Free T-SQL Scripts
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Sql query to create a report

    I am trying to extract a report for some pois, unfortunately I don't know how to formulate the query properly. Some data samples together with the rules for the report are described below:
    with my_tab as (select 1 id, 'ACME' supplier, 1 poi, 'A' attr1, 'B' attr2 from dual union all
    select 2 id, 'TOMA' supplier, 2 poi, 'C' attr1, 'D' attr2 from dual union all
    select 3 id, 'ACME' supplier, 3 poi, 'A' attr1, 'B' attr2 from dual union all
    select 4 id, 'TOMA' supplier, 3 poi, 'C' attr1, 'D' attr2 from dual union all
    select 5 id, 'ACME' supplier, 4 poi, null attr1, null attr2 from dual union all
    select 6 id, 'TOMA' supplier, 4 poi, 'C' attr1, 'D' attr2 from dual union all
    select 7 id, 'ACME' supplier, 5 poi, null attr1, 'B' attr2 from dual union all
    select 8 id, 'TOMA' supplier, 5 poi, 'C' attr1, 'D' attr2 from dual union all
    select 9 id, 'ACME' supplier, 6 poi, null attr1, null attr2 from dual union all
    select 10 id, 'TOMA' supplier, 6 poi, null attr1, 'D' attr2 from dual)
    rules for the resultset:
    a) each distinct poi has to occur exactly once
    b) if there is more than one record having the same poi id, the attributes from supplier ACME are preferred
    c) if ACME is not able to provide an attribute, the supplier TOMA has to step in
    The result should look like this:
    poi | attr1 | att2
    1 | A | B |
    2 | C | D |
    3 | A | B |
    4 | C | D |
    5 | C | B |
    6 | null | D |
    Edited by: user8914294 on Dec 21, 2009 11:58 AM
    Edited by: user8914294 on Dec 21, 2009 11:59 AM

    Hi,
    Welcome to the forum!
    Here's one way:
    SELECT       poi
    ,       MAX (attr1) KEEP (DENSE_RANK FIRST ORDER BY CASE
                                                                       WHEN  attr1  IS NOT NULL     THEN 1
                                                                   END
                                  ,           CASE  supplier
                                            WHEN  'ACME'  THEN  1
                                            WHEN  'TOMA'  THEN  2
                                                                   END
                      ) AS attr_1
    ,       MAX (attr2) KEEP (DENSE_RANK FIRST ORDER BY CASE
                                                                       WHEN  attr2  IS NOT NULL     THEN 1
                                                                   END
                                  ,           CASE  supplier
                                            WHEN  'ACME'  THEN  1
                                            WHEN  'TOMA'  THEN  2
                                                                   END
                      ) AS attr_2
    FROM       my_tab
    GROUP BY  poi
    ORDER BY  poi
    ;This does not rely on the fact that there are only two suppliers, or that the combination (poi, supplier) is unique, or that the order of preference for suppliers is the same as alphabetic order.
    This is an example of a Top-N Query , where you want N items (N=1 in this case) from the top of a sorted list. The problem is, how can we sort the values so that the more desirable ones come at the top of the list?
    There are two things that make one value more desirable than another:
    (1) Non-NULL values are better than NULL. After that:
    (2) Rows where supplier='ACME' are more desireable than rows where supplier='TOMA'.
    As it happens, both of these require CASE expressions (or siomething similar, like NVL2) to sort.
    Thanks for posting the sample data in such a useful format! That helps a lot.

  • Bold a single row in a Report based on SQL Query

    Should be easy? So, how do I bold a single row in a report based on SQL query without creating a new template or writing Java for the page? What is the Tabular Form Element "Element Attributes" field for? Or what am I supposed to put in there to make it do anything?

    One way to do this is to add a hidden column to your report which contains the formatting value, for example:
    select empno
    , ename
    , sal
    , decode(empno,1,'font-weight:bold','font-weight:normal') style
    from emp
    Hide the STYLE column.
    Then you can use this column for each column in Column Formatting > HTML expression in this way:
    <span style="#STYLE#">#SAL#</span>
    Unfortunately you have to do this for each colum you want to appear bold.
    good luck,
    Dirk Dral

  • How Can I Execute Sql Query in Managed bean?

    Hi,
    I want to execute sql query in managedbean and get the query result. How can I do?
    Best wishes!

    You can do this by having current Database connection your application is using like this
    public static synchronized DBTransaction getDBTransaction(){
    FacesContext ctx = FacesContext.getCurrentInstance();
    ValueBinding vb = ctx.getApplication().createValueBinding("#{data}");
    BindingContext bc = (BindingContext)vb.getValue(ctx.getCurrentInstance());
    DataControl dc = bc.findDataControl("AppModuleDataControl");
    ApplicationModuleImpl am = ((ApplicationModuleImpl)(ApplicationModule)dc.getDataProvider());
    return am.getDBTransaction();
    and then user DBTransaction object to create Statement and PreparedStatement you can find those in java doc.

  • SQL Query (Oracle 10g)

    Hi All,
    Please find the following requirement.
    Requirement -
    There are 2 standalone database named database A and
    database B used by 2 separate application. Database A
    has schema S1 and Database B has schema S2.
    Schema S1 has around 40 master tables which get updated
    very frequently. This 40 tables are also present in S2
    also.
    We want the both the 40 tables to be in sync every
    hourly or half any hour.
    eg. If records are added/updated deleted in S1.emp then
    same should be done in S2.emp and visa versa also.
    We dont want to use dblink,materialised views or
    scripts. Is there any feature in Oracle 10G like
    replication or Streams where in this can be done.
    Incase if are not able to replicate both ways then at
    least one way can we replicate ? like any records are
    added/updated deleted in S1.emp then same should be done
    in S2.emp and similarly in the other 39 tables.
    Thank you
    Message was edited by:
    User71408

    Can anyone provide a SQl query to create a
    schema/user named 'test' with username as 'system'
    and password as 'manager'system user is created during database creation, it's internal Oracle admin user that shouldn't be used as schema holder.
    In Oracle database, Oracle user is schema holder there's no seperate schema name to be defined other than username.

  • Executing a column which has a sql query in a tabular form

    Hi,
    I have a tabular form which contains a column named as SQL which has sql statements in it. Without going to the SQL workshop in Apex i want to execute that query in the tabular form itself. For that i've created a page item which fetches the particular rows sql query and created a button 'EXECUTE'. When i click the execute button it should run the query and should display whether the query is correct or not and should show the error message.
    Can any one provide solution for this or whether there are any other ways to achive this scenario.
    With Regards
    Balaji.P.K

    Balaji P.K wrote:
    Can any one provide solution for this or whether there are any other ways to achive this scenario.Difficult as we have no idea what this "scenario" actually is. Go back several steps and explain in detail the problem this is supposed to solve.
    I have a tabular form which contains a column named as SQLBad idea. <tt>SQL</tt> is a PL/SQL reserved word. Using any token from Oracle namespaces as a database identifier is confusing/problematic.
    which has sql statements in it.Why? Where does this SQL come from? What is the source of the tabular form?
    Without going to the SQL workshop in Apex i want to execute that query in the tabular form itself.Explain the "execute that query in the tabular form itself" concept. Where do the results go?

  • Execute SQL query in JavaBean

    I want to execute SQL query in the JavaBean.
    Is there any problem in the following code.
    There is no error message, but the database do not update. And I try to use JSP , it is ok. What is the problem in JavaBean ??
    How to execute SQL in JavaBean ???
    Please help ! Thank you !
    test.jsp - call UserTrace.java
    UserTrace.java - execute SQL
    Code:
    ** test.jsp **
    <%@ page language="java" contentType="text/html" %>
    <%@ page import="user.*, java.util.*" %>
    <jsp:useBean id="usertrace" class="user.UserTrace" scope="session" />
    <%
    if (session.isNew())
         session.setAttribute("usertrace", usertrace);
         session.setMaxInactiveInterval(15);
    %>
    ** UserTrace.java **
    package user;
    import java.util.*;
    import javax.servlet.http.*;
    import java.io.*;
    import java.beans.*;
    import java.sql.*;
    import user.*;
    public class UserTrace implements javax.servlet.http.HttpSessionBindingListener {
         private Connection con = null;
         Statement stmt = null;
         ResultSet rs = null;
         String sql;
         public void valueBound(HttpSessionBindingEvent event) {
         public void valueUnbound(HttpSessionBindingEvent event) {
              try {
                   Class.forName("org.gjt.mm.mysql.Driver");
                   con = DriverManager.getConnection("jdbc:mysql://localhost/test?user=abc&password=abcd");
                   stmt = con.createStatement();
                   sql = "insert into list(username, session_id) values ('mary', 'xxxxxxxxx')";
                   int count = stmt.executeUpdate(sql);
              catch (ClassNotFoundException e) {
              catch (SQLException e) {
    }

    Hi,
    U can use the following code:
    /********** IMPORTING PACKAGES AND CLASSES *******/
    // General package id
    package id;
    //Import the Vector class as this bean handles Vector.
    import java.util.Vector;
    //Import the SQL class to create the connections,statement,resultset etc.,
    import java.sql.*;
    //Import the SQL Types to call the setNull Method.
    import java.sql.Types.*;
    /* Main Class */
    public class dataBean
    /*********** Global Declarations ********/
    // To create the connection object
    Connection con;
    // To create the Statement object
    Statement stmt;
    // To create the PreparedStatement object
    PreparedStatement psmt;
    // To Handle the ResultSet
    ResultSet rs;
    // Most of the method need to hold the querystring for which qryString variable declare globally.
    String qryString=null;
    /************ METHODS **************/
    /* To set the connection object
         con - Connection object
    public void setConnection(Connection con)
    try
         this.con = con;
         catch(Exception e)
    /* insertRecord with column type argument
    tblNameString - Name of the Table
         dataVector - vector contains the values according to the table order
         eg., element(0) has first field, element(1) has second field vice versa
         colType - String array contains type of all the fields.                    
    return true -     if record inserted successfully
         fase - if insertion fails                    
    public boolean insertRecord(String tblNameString,Vector dataVector,String colType[])
    boolean sucFlag=false;
    try
    String commaString = "";
    int fieldCount = dataVector.size();
    for (int i=0;i<fieldCount-1;i++)
    commaString +="?,";
    commaString+="?";
    if (fieldCount > 0)
    qryString = "insert into "+tblNameString+" values ("+commaString+")";
    psmt = con.prepareStatement(qryString);
    for(int i=0;i<colType.length;i++)
    if (colType.equals("I"))
    psmt.setInt(i+1,Integer.parseInt(dataVector.elementAt(i).toString()));
    else if (colType[i].equals("F"))
    psmt.setFloat(i+1,Float.parseFloat(dataVector.elementAt(i).toString()));
    else if (colType[i].equals("S") || colType[i].equals("D"))
    psmt.setString(i+1,dataVector.elementAt(i).toString());
    else if (colType[i].equals("IN")||colType[i].equals("FN"))
    psmt.setNull(i+1,java.sql.Types.NUMERIC);
    else if (colType[i].equals("SN"))
    psmt.setNull(i+1,java.sql.Types.VARCHAR);
    else if (colType[i].equals("DN"))
    psmt.setNull(i+1,java.sql.Types.DATE);
    int sucCnt = psmt.executeUpdate();
              if (sucCnt > 0) sucFlag=true;
    catch(Exception e)
    return sucFlag;
    /* insertRecord without column type argument
    tblNameString - Name of the Table
         dataVector - vector contains the values according to the table order
         eg., element(0) has first field, element(1) has second field vice versa
    return true -     if record inserted successfully
         fase - if insertion fails                    
    public boolean insertRecord(String tblNameString,Vector dataVector)
    boolean sucFlag=false;
    Vector colType = getColumnType(tblNameString);
    try
    String commaString = "";
    int fieldCount = dataVector.size();
    for (int i=0;i<fieldCount-1;i++)
    commaString +="?,";
    commaString+="?";
    if (fieldCount > 0)
    qryString = "insert into "+tblNameString+" values ("+commaString+")";
    psmt = con.prepareStatement(qryString);
    for(int i=0;i<colType.size();i++)
    if (colType.elementAt(i).toString().equals("I"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(i+1,java.sql.Types.NUMERIC);
                   else               
         psmt.setLong(i+1,Long.parseLong(dataVector.elementAt(i).toString()));
    else if (colType.elementAt(i).toString().equals("F"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(i+1,java.sql.Types.NUMERIC);
                   else               
         psmt.setDouble(i+1,Double.parseDouble(dataVector.elementAt(i).toString()));
    else if (colType.elementAt(i).toString().equals("S"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.VARCHAR);
                   else               
         psmt.setString(i+1,dataVector.elementAt(i).toString());
    else if (colType.elementAt(i).toString().equals("D"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(i+1,java.sql.Types.DATE);
                   else               
         psmt.setString(i+1,dataVector.elementAt(i).toString());
    int sucCnt = psmt.executeUpdate();
              if (sucCnt > 0) sucFlag=true;
    catch(Exception e)
    return sucFlag;
    /* insert particular fields
    tblNameString - Name of the Table
         dataVector - vector which contains the values according to the table order
         eg., element(0) has first field, element(1) has second field vice versa
         colType - String array contains type of all the fields.                    
    return true -     if record inserted successfully
         fase - if insertion fails                    
    public boolean insertRecordPart(String tblNameString,Vector dataVector,String colType[])
    boolean sucFlag=false;
    String fieldString=" ";
    try
    String commaString = "";
    int fieldCount = dataVector.size();
    for (int i=0;i<(fieldCount/2)-1;i++)
    commaString +="?,";
    commaString+="?";
    if (fieldCount > 0)
         String valueString[]= new String[fieldCount];
         for (int i=0,j=0;i<fieldCount;i+=2,j++)
                   fieldString=fieldString+dataVector.elementAt(i)+",";
                   valueString[j]=dataVector.elementAt(i+1).toString();
              if (fieldString.substring(fieldString.length()-1,fieldString.length()).equals(","))
              fieldString=fieldString.substring(0,fieldString.length()-1);
    qryString = "insert into "+tblNameString+"("+fieldString+") values ("+commaString+")";
    psmt = con.prepareStatement(qryString);
              for (int i=1,j=0;i<fieldCount;i+=2,j++)
    if (colType[j].equals("I"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(j+1,java.sql.Types.NUMERIC);
                   else               
         psmt.setInt(j+1,Integer.parseInt(dataVector.elementAt(i).toString()));
    else if (colType[j].equals("L"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(j+1,java.sql.Types.NUMERIC);
                   else               
         psmt.setLong(j+1,Long.parseLong(dataVector.elementAt(i).toString()));
    else if (colType[j].equals("F"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(j+1,java.sql.Types.NUMERIC);
                   else               
         psmt.setFloat(j+1,Float.parseFloat(dataVector.elementAt(i).toString()));
    else if (colType[j].equals("DB"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(j+1,java.sql.Types.NUMERIC);
                   else               
         psmt.setDouble(j+1,Double.parseDouble(dataVector.elementAt(i).toString()));
    else if (colType[j].equals("S"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
              psmt.setNull(j+1,java.sql.Types.VARCHAR);
                   else               
         psmt.setString(j+1,dataVector.elementAt(i).toString());
    else if (colType[j].equals("D"))
              if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
         psmt.setNull(j+1,java.sql.Types.DATE);
                   else               
         psmt.setString(j+1,dataVector.elementAt(i).toString());
    int sucCnt = psmt.executeUpdate();
              if (sucCnt > 0) sucFlag=true;
    catch(Exception e)
    return sucFlag;
    /* Get Column Type of require table fields
    tblNameString - Name of the table
    return vector which contains the column types of the desired table
    public Vector getColumnType(String tblNameString)
    int colCount = 0;
         String locString="";
         Vector colVector = new Vector();
    try
         qryString = "select DATA_TYPE from user_tab_columns where table_name=? ORDER BY COLUMN_ID";
    psmt = con.prepareStatement(qryString);
         psmt.setString(1,tblNameString.toUpperCase());
         rs = psmt.executeQuery();
         while (rs.next())
         colCount = rs.getMetaData().getColumnCount();
              for(int i=1;i<=colCount;i++)
              locString = rs.getString(i);
              colVector.addElement(locString.equals("DATE")?"D":locString.equals("NUMBER")?"F":locString.equals("VARCHAR2")?"S":locString.equals("VARCHAR")?"S":"");
         rs.close();
         catch(Exception e)
         return colVector;
    /* update record
    tblNameString - Name of the Table
         dataVector - vector which contains the values according to the table order
         eg., element(0) has first field, element(1) has second field vice versa
         colType - String array contains type of all the fields.                    
         return true - if record successfully updated
         false - if Update fails
    public boolean updateRecord(String tblNameString,Vector dataVector,String colType[],String whereString)
    boolean sucFlag=false;
    String fieldString=" ";
    try
    String commaString = "";
    int fieldCount = dataVector.size();
    for (int i=0;i<fieldCount-1;i++)
    commaString +="?,";
    commaString+="?";
    if (fieldCount > 0)
         String valueString[]= new String[fieldCount];
         for (int i=0,j=0;i<fieldCount;i+=2,j++)
                   fieldString=fieldString+dataVector.elementAt(i)+"=?,";
                   valueString[j]=dataVector.elementAt(i+1).toString();
              if (fieldString.substring(fieldString.length()-1,fieldString.length()).equals(","))
              fieldString=fieldString.substring(0,fieldString.length()-1);
    qryString = "update "+tblNameString+" set "+fieldString+" "+whereString;
    psmt = con.prepareStatement(qryString);
    for(int i=0,vectorPos=1;i<colType.length;i++,vectorPos+=2)
    if (colType[i].equals("I"))
              if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.NUMERIC);
                   else               
              psmt.setInt(i+1,Integer.parseInt(dataVector.elementAt(vectorPos).toString()));
    else if (colType[i].equals("L"))
              if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.NUMERIC);
                   else               
              psmt.setLong(i+1,Long.parseLong(dataVector.elementAt(vectorPos).toString()));
    else if (colType[i].equals("F"))
              if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.NUMERIC);
                   else               
              psmt.setFloat(i+1,Float.parseFloat(dataVector.elementAt(vectorPos).toString()));
    else if (colType[i].equals("DB"))
              if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.NUMERIC);
                   else               
              psmt.setDouble(i+1,Double.parseDouble(dataVector.elementAt(vectorPos).toString()));
    else if (colType[i].equals("S"))
              if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.VARCHAR);
                   else               
              psmt.setString(i+1,dataVector.elementAt(vectorPos).toString());
    else if (colType[i].equals("D"))
              if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
              psmt.setNull(i+1,java.sql.Types.DATE);
                   else               
              psmt.setString(i+1,dataVector.elementAt(vectorPos).toString());
    int sucCnt = psmt.executeUpdate();
              if (sucCnt > 0) sucFlag=true;
    } // end of if
    } // end of try
    catch(Exception e)
         return false;
         return sucFlag;
    public ResultSet getResultSet(String selectString)
         try
              stmt = con.createStatement();
              rs = stmt.executeQuery(selectString);
         catch(Exception e)
         System.out.println(e.getMessage());
         finally
         return rs;
    /* Get Query Result
    selectString - Query
    return the result vector based on the querystring
    public Vector getResultVector(String selectString)
         Vector resVector = new Vector();
         try
              stmt = con.createStatement();
              rs = stmt.executeQuery(selectString);
              while (rs.next())
              resVector.addElement(rs.getString(1));
              resVector.addElement(rs.getString(2));
         catch(Exception e)
         System.out.println(e.getMessage());
         finally
         return resVector;
    /* return next consecutive number
    tablenName - Name of the table for which the number to be generated
         serialFiel - Name of the field for which the number to be generated
         whereString - where condition to filter the records if composite key found,
                        it can be empty if there is no composite primary key.
    startNumber - if there is no record exists in the table, set the starting number
    public String getCurrentSerial(String tableName,String serialField,String whereString,String startNumber)
    String queryString = "select max(to_number("+serialField+")) from "+tableName+" "+whereString;
    int maxSerial=0;
    try
    psmt = con.prepareStatement(queryString);
         rs = psmt.executeQuery();
         while (rs.next())
              maxSerial = rs.getInt(1);
         if (maxSerial < 0)
         maxSerial=Integer.parseInt(startNumber);
         else
              maxSerial+=1;
         rs.close();
    catch(Exception e)
    return String.valueOf(maxSerial);
    /* return next consecutive number
    tablenName - Name of the table for which the number to be generated
         serialFiel - Name of the field for which the number to be generated
         whereString - where condition to filter the records if composite key found,
                        it can be empty if there is no composite primary key.
         Note : if there is no record exists in the table, it starts with 1
    public String getCurrentSerial(String tableName,String serialField,String whereString)
    String queryString = "select max(to_number("+serialField+")) from "+tableName+" "+whereString;
    int maxSerial=0;
    try
         stmt = con.createStatement();
         rs = stmt.executeQuery(queryString);
    while (rs.next())
              maxSerial = rs.getInt(1);
         if (maxSerial < 0)
         maxSerial=1;
         else
              maxSerial+=1;
         rs.close();
    catch(Exception e)
    System.out.println("Error from max serialX:"+e.getMessage());
    return String.valueOf(maxSerial);
    /* return the currnent user name */
    public String getCurrentUser()
    Statement stmt=null;
    ResultSet rs=null;
    String queryString = "select user from dual";
    String userName = "";
    try
    stmt = con.createStatement();
         rs = stmt.executeQuery(queryString);
         while (rs.next())
              userName = rs.getString(1);
         rs.close();
    catch(Exception e)
    return userName;
    /* return current user along with server's current date
    example : userName#today
    public String getCurrentUserDate()
    Statement stmt=null;
    ResultSet rs=null;
    String queryString = "select user,to_char(sysdate,'dd-mon-yyyy') from dual";
    String userName = "";
    String todayDate= "";
    try
    stmt = con.createStatement();
         rs = stmt.executeQuery(queryString);
         while (rs.next())
              userName = rs.getString(1);
                   todayDate = rs.getString(2);
         rs.close();
    catch(Exception e)
    return userName+"#"+todayDate;
    /* return server's current date */
    public String getCurrentDate()
    Statement stmt=null;
    ResultSet rs=null;
    String queryString = "select to_char(sysdate,'dd-mon-yyyy') from dual";
    String todayDate= "";
    try
    stmt = con.createStatement();
         rs = stmt.executeQuery(queryString);
         while (rs.next())
                   todayDate = rs.getString(1);
         rs.close();
    catch(Exception e)
    return todayDate;
    /* return true if atleast one record found in the table
         tblName : Name of the table
         whereString : Where condition to filter the records
    public boolean isRecordExists(String tblName,String whereString)
    String queryString = "select count(1) from "+tblName+" "+whereString;
    boolean recFound = false;
    try
    stmt = con.createStatement();
         rs = stmt.executeQuery(queryString);
         while (rs.next())
         if (rs.getInt(1)==0)
                        recFound = false;
                   else
                        recFound = true;
         rs.close();
    catch(Exception e)
    return recFound;
         // round off decimal Places
    public String fixDecimal(String sourceString,int digits)
    String tmpText="",decimalPart="",returnText="";
    try
    sourceString = String.valueOf(Double.parseDouble(sourceString));
    tmpText = sourceString.substring(sourceString.indexOf(".")+1);
         if (tmpText.length() > digits)
         decimalPart = tmpText.substring(0,digits);
    if (Integer.parseInt(tmpText.substring(digits,digits+1))>=5)
         decimalPart = String.valueOf(Integer.parseInt(decimalPart)+1);
         tmpText = decimalPart;      
         if (decimalPart.length() > 3) // to check wheter 1000 reached, if yes add 1 to actual text      
              returnText = String.valueOf(Integer.parseInt(sourceString.substring(0,sourceString.indexOf(".")))+1);
         else
                   returnText = sourceString.substring(0,sourceString.indexOf("."))+"."+tmpText;
         else // if user entered decimal is with in 3 digits
         if (tmpText.equals("0"))
                   returnText = sourceString.substring(0,sourceString.indexOf("."));
              else               
                   returnText = sourceString.substring(0,sourceString.indexOf("."))+"."+tmpText;
    catch(Exception e)
    System.out.println(e.getMessage());
    return sourceString;
    System.out.println(returnText);
    return returnText;
    } // end of main class
    Access this Bean in JSP as follows:
    <%@ page language="java" %>
    <%@ page import="java.util.*"%>
    <%@ include file="../connectionSetup.jsp"%>
    <jsp:useBean id="dataBeanObj" class="id.dataBean"/>
    <html>
    <head>
         <title>ADDRESS MASTER FORM</title>
    <style type="text/css">      
    .tData
         font-family : sans-serif;
         font-size : 9px;
         font-weight : bolder;
         color : navy;
    .buttonStyle
         font-family : sans-serif;
         font-size :10px;
    </style>
    </head>
    <%
    dataBeanObj.setConnection(con);
    String curCode="";
         String consFld = request.getParameter("consfld")==null?"":request.getParameter("consfld");
         String cat = request.getParameter("cat")==null?"a":request.getParameter("cat").equals("a")?"a":"u";
    boolean updateFlag=false,isWrongCountry=false;
    String code="";
         String name="";
         String add1="";
         String add2="";
         String add3="";
         String state="";
         String country="";
         String zip="";
         String am_pcouncode="";
         String am_pareacode="";
         String am_psubcode="";
         String am_fcouncode="";
         String am_fareacode="";
         String am_fsubcode="";
         String am_phone="";
         String am_fax="";
         String email="";
         String notes="";
         String telex="";
         String mobile="";
         String popup="";
         code = request.getParameter("code")==null?"":request.getParameter("code");
         name = request.getParameter("name")==null?"":request.getParameter("name");
         popup = request.getParameter("popup")==null?"":request.getParameter("popup");
         String submitMode = request.getParameter("submit_mode")==null?"":request.getParameter("submit_mode");
         String editMode = request.getParameter("edit_hidden")==null?"null":request.getParameter("edit_hidden");
         if (name != null && !submitMode.equals("yes")) // ready to retrieve records
         if (!code.equals(""))
              rs = dataBeanObj.getResultSet("select am_code code,am_name name,am_address_1 add1,am_address_2 add2,am_address_3 add3,am_country country,am_state state,am_zip zip,am_phone phone,am_fax fax,am_e_mail email,am_notes notes,am_telex telex,am_mobile mobile from id_vms_address_master where am_code='"+code+"'");
              else
              rs = dataBeanObj.getResultSet("select am_code code,am_name name,am_address_1 add1,am_address_2 add2,am_address_3 add3,am_country country,am_state state,am_zip zip,am_phone phone,am_fax fax,am_e_mail email,am_notes notes,am_telex telex,am_mobile mobile from id_vms_address_master where upper(am_name)='"+name.toUpperCase()+"'");
         if (rs.next()) // if record found
              code = rs.getString("code");          //     retrieve code
              name = rs.getString("name");          //     retrieve name
              add1 = rs.getString("add1");          //     retrieve address 1
              add2 = rs.getString("add2");          //     retrieve address 2
              add3 = rs.getString("add3");          //     retrieve address 3
              country = rs.getString("country");          //     retrieve country
              state = rs.getString("state");          //     retrieve state
              zip = rs.getString("zip");          //     retrieve zip
              am_phone = rs.getString("phone");          //     retrieve phone
              am_fax = rs.getString("fax");          //     retrieve fax
              email = rs.getString("email");          //     retrieve email
              notes = rs.getString("notes");          //     retrieve notes
              telex = rs.getString("telex");          //     retrieve telex number
              mobile = rs.getString("mobile");          //     retrieve mobile number
         else if (submitMode.equals("yes")) // ready to submit
              code = request.getParameter("code");          //     get the input code
              name = request.getParameter("name");          //     get the input name
              add1 = request.getParameter("address1");     //     get the input address 1
              add2 = request.getParameter("address2");     //     get the input address 2
              add3 = request.getParameter("address3");     //     get the input address 3
              country = request.getParameter("country");     //     get the input country
              state = request.getParameter("state");          //     get the input state
              zip = request.getParameter("zip");          //     get the input zip
              am_pcouncode = request.getParameter("pcouncode");          //     get the input phone country code
              am_pareacode = request.getParameter("pareacode");          //     get the input phone area code
              am_psubcode = request.getParameter("psubscode");          //     get the input phone subscriber code
              am_fcouncode = request.getParameter("fcouncode");          //     get the input fax country code
              am_fareacode = request.getParameter("fareacode");          //     get the input fax area code
              am_fsubcode = request.getParameter("fsubscode");          //     get the input fax subscriber code
              am_phone = am_pcouncode+"-"+am_pareacode+"-"+am_psubcode;
              am_fax = am_fcouncode+"-"+am_fareacode+"-"+am_fsubcode;
              telex = request.getParameter("telex");          //     get the input telex
              mobile = request.getParameter("mobile");     //     get the input mobile
              email = request.getParameter("email");          //     get the input email
              notes = request.getParameter("notes");          //     get the input notes
              String colType[] = {"S","S","S","S","S","S","S","S","S","S","S","S","S","S"};
              Vector vec = new Vector();
              if (cat.equals("u"))
                   vec.addElement("am_code");          vec.addElement(code);          //     add code to vector element
              else
              curCode = dataBeanObj.getCurrentSerial("id_vms_address_master","am_code","");
                   vec.addElement("am_code");          vec.addElement(curCode);          //     Next Serial Generation
              vec.addElement("am_name");          vec.addElement(name);          //     add name to vector element
              vec.addElement("am_address_1");     vec.addElement(add1);          //     add address 1 to vector element
              vec.addElement("am_address_2");     vec.addElement(add2);          //     add address 2 to vector element
              vec.addElement("am_address_3");     vec.addElement(add3);          //     add address 3 to vector element
              vec.addElement("am_country");     vec.addElement(country);     //     add country to vector element
              vec.addElement("am_state");          vec.addElement(state);          //     add state to vector element
              vec.addElement("am_zip");          vec.addElement(zip);          //     add zip to vector element
              vec.addElement("am_phone");          vec.addElement(am_phone);          //     add phone to vector element
              vec.addElement("am_fax");          vec.addElement(am_fax);          //     add fax to vector element
              vec.addElement("am_e_mail");          vec.addElement(email);          //     add email to vector element
              vec.addElement("am_notes");          vec.addElement(notes);          //     add notes to vector element
              vec.addElement("am_telex");          vec.addElement(telex);          //     add telex to vector element
              vec.addElement("am_mobile");          vec.addElement(mobile);          //     add mobile to vector element
              if (dataBeanObj.isRecordExists("id_country_master"," where country_code='"+country+"'"))
                   if (cat.equals("u"))
                        // update the records
                        updateFlag = dataBeanObj.updateRecord("id_vms_address_master",vec,colType,"where am_code='"+code+"'");
                   else
                        // insert record
                        updateFlag = dataBeanObj.insertRecordPart("id_vms_address_master",vec,colType);
                   else
                        isWrongCountry=true;               
    %>
    The connectionSetup.jsp is as follows:
    <%@ page import="java.sql.*" %>
    <%@ page import="javax.sql.*" %>
    <%@ page import="javax.naming.*" %>
    <%@ page import="allaire.taglib.*" %>
    <%
         Connection con=null;
         PreparedStatement ps = null;
         Statement stmt=null;
         ResultSet rs=null;
    try
         String jrunDSN = null, lookupDSN = null;
         jrunDSN = request.getParameter("dsnvalue") == null ? "vms_test" : request.getParameter("dsnvalue");
         lookupDSN     = "java:comp/env/jdbc/" + jrunDSN;
         InitialContext ctx     = new InitialContext();
         DataSource     dsn      = (DataSource)ctx.lookup(lookupDSN);
         try
              if (application.getAttribute("connectionapplication") == null)
                   con = dsn.getConnection();
                   application.setAttribute("connectionapplication",con);
              else
              con = (Connection) application.getAttribute("connectionapplication");
         stmt = con.createStatement();
         catch(Exception e)
              con = dsn.getConnection();
              application.setAttribute("connectionapplication",con);
    catch(Exception e)
         out.println("<font face='arial' size='2'><center>Problem with database connection. Please contact your administrator</center></font>");
    %>
    In Connection setup.jsp u can change as u need.
    This is thru JNDI. This works fine for us in our projects.
    Bye.

  • Stream Line SQL Query

    Hello all,
    I have a table that contains more than 100 000 records, structure seen below. I am trying to perform simple queries on this table and it is taking FOREVER for the query to return (in excess of 10 minutes). The only field that contains unique data is the 'key', which I have made the primary key.
    Table: WORK
    Name Null? Type
    ASSIGNMENT_NO NOT NULL NUMBER(2)
    START_DATE NOT NULL DATE
    END_DATE DATE
    ID_NO NOT NULL NUMBER(9)
    CODE NOT NULL VARCHAR2(4)
    REF_KEY NOT NULL NUMBER(9)
    STATUS NOT NULL VARCHAR2(1)
    ID_NAME NOT NULL VARCHAR2(30)
    LAST_MODIFIED_DATE NOT NULL DATE
    KEY NOT NULL NUMBER(9)
    As I need to pass into the query varying data I Use a PL/SQL function to call the SQL query.
    CREATE OR REPLACE FUNCTION THE_SAMPLE (THE_REF_KEY, THE_ID_NO, PUT_A_DATE_HERE)
    RETURN VARCHAR2 IS
    CURSOR C IS
    SELECT w1.code
    FROM work w1
    WHERE w1.ref_key = THE_REF_KEY
    AND w1.ID_NO = THE_ID_NO
    AND w1.status <> 'I'
    AND w1.start_date <= PUT_A_DATE_HERE
    AND (w1.end_date IS NULL or w1.end_date >= PUT_A_DATE_HERE)
    AND w1.start_date = (SELECT MAX(W2.start_date)
    FROM work w2
    WHERE w2.REF_KEY = W1.REF_KEY
    AND w2.ID_NO = W1.ID_NO
    AND w2.status <> 'I'
    AND w2.start_date <= PUT_A_DATE_HERE
    AND (w2.end_date IS NULL or w2.end_date >= PUT_A_DATE_HERE));
    out_rec c%ROWTYPE;
    begin
    begin
    open C;
    fetch c into out_rec;
    CLOSE C;
    EXCEPTION
    WHEN no_data_found THEN
    out_rec.code := NULL;
    END;
    return out_rec.code;
    end THE_SAMPLE;
    I am looking for a quick way to accomplish the same task. The main reason is that I am feeding this SQL statement about 20 000 different ref_keys each with a particular ID_NO. Since it seems to take a long time just to process one element I did want crunch data for the next month.
    Any help, idea, comments would be greatly welcomed.
    Any ideas on how to stream line this?

    Hummm... I am still working on it, but this is what I have come up with so far:
    One way is to do this use this
    CURSOR C IS
    SELECT w1.code
    FROM work w1, (SELECT MAX(w2.start_date) as MAX_DATE
    FROM work w2
    WHERE w2.ref_key = THE_REF_KEY
    AND w2.ID_NO = THE_ID_NO
    and w2.status <> 'I'
    AND w2.start_date <= PUT_A_DATE_HERE
    AND (w2.end_date IS NULL or w2.end_date >= PUT_A_DATE_HERE)) GET_MAX
    WHERE w1.ref_key = THE_REF_KEY
    AND w1.ID_NO = THE_ID_NO
    and w1.status <> 'I'
    AND w1.start_date <= PUT_A_DATE_HERE
    AND (w1.end_date IS NULL or w1.end_date >= PUT_A_DATE_HERE)
    AND w1.start_date = GET_MAX.MAX_DATE;
    This way does seem to work a bit faster. I will have to see as the hours pass by.
    I am still looking for ways that will process this faster.
    null

  • Export to Excel from Report region (pl/sql returning sql query)

    Hello all,
    I have encountered an interesting problem. I have an HTMLDB application with a lot of sql reports coded straight inside the report region. In order to better organize my reports, I decided to
    1. make all my report regions of type "Pl/Sql function returning SQL query"
    2. create a package inside my database schema which houses all reports as pl/sql functions returning VARCHAR2, the string returned being the report query
    3. just calling "return package_name.function_name" from inside my report region of type "Pl/sql function returning SQL query".
    This technique seemed to work perfectly. The reports were being returned as expected. I was then asked to provide the "Export to Excel" capability to all my reports. This seemed like a piece of cake using HTML DB's "Export to Excel" extension. However, the "export to excel" does not function correctly when my reports are inside a package in the database. HTML DB tries to export but inside the excel spreadsheet, instead of seeing row data, I see:
    <pre>failed to parse SQL query:
    ORA-00936: missing expression
    <!-- select a.username, b.table_name, 'View Row Data' from schema_browser_user_list a, all_tables b where a.user_id = and a.username = b.owner order by b.table_name asc
    --!>
    </pre>
    I am building my query string inside of my package functions by using a combination of literal strings and concatenating them with some parameter values being passed in. It seems that the HTML DB engine which exports the report to excel does not properly understand the concatenation of variables as can be seen by the empty space to the right of the equal sign in the "a.user_id = " clause. Does anybody have any input as to whether this is a known issue or if I am doing something wrong? Thanks a lot for your time.
    - Kenny R.

    James,
    Thanks for the quick reply. I think you mis-understood what I'm doing. All I'm doing is creating packaged functions which return VARCHAR2. The VARCHAR2 that they return is the report query. With this technique, I no longer have to type the query into the HTML DB report region. Instead, I make the report region a "Pl/sql function returning sql query" and make the following call: return package_name.function_name(some_application_items passed in as parameters)
    This makes for a much more organized html db app. The problem is that the "export to excel" function does not correctly interpret the VARCHAR2 that my packaged functions are returning. Is this a better explanation? Thanks again for your time.
    - Kenny R.

  • Error in report when executing pl/sql function body returning sql query.

    Hi,
    I have used the pl/sql function body returning sql query for creating a report. I have created a datepicker(
    P10_TASK_DATE) which can be submitted.The code is as below
    DECLARE
    v_sql varchar2(3000);
    BEGIN
    if :P10_TASK_DATE is not null THEN
    v_sql:='select
          * from tasks';
    return v_sql;
    else
    v_sql:='select * from discovery';
    return v_sql;
    END IF;
    END;if the date field is empty "select * from discovery" is executed and report is getting generated. But when we give a
    date using date picker the page is submitted and i get "report error: ORA-01403: no data found" even
    though the "tasks" table has data in it. Plz help
    Thanks,
    TJ

    hi
    Please try this
    1. Create 2 region
    1st region source=
    select * from tasks'
    go to the tab -> condition =
    item NOT NULL
    EXpression1 =:P10_TASK_DATE
    this will run whenever the item have any date
    2. open your 2 nd region source code= select * from discovery
    put the condition
    item is  NULL
    EXpression1 =:P10_TASK_DATE
    thanks
    Mark Wyatt

  • Build a sql query fro different table and insert into a table

    Hi I have a requirement ,
    i have some table 1 table which holds rules which rules i have to apply on the sql query
    2 table will hold table name and column name and transformation
    with these help of 2 tables i want to build a sql quey and the sql query need to be insert into another  table.

    Hi Karthick,
    I am not going to build Dynamic Data Model.
    i already have table 1 contains rules let's say COUNT,
    and another table contain source table name , column name , Target table name, Source Table name like that
    so with the help of these 2 tables i want to build Sql query and going to insert into 3rd table.

  • SQL query to fetch records  from  26 onwards

    Want to know SQL query to fetch records from 26 onwards.

    See the fifth entry on the FAQ page:
    Re: How to attach a java bean in forms6i

Maybe you are looking for