Temporary table refresh problem

Hi,
I running a process before validation on a page to populate a temporary table when I click a button.
On the following page I've built a shuttle on the temporary table. Not the most elegant solution, but the shuttle LOV box wouldn't process the oracle text commands in the SQL.
I'm not getting any error, but I have an unusual problem
It takes two passes for the data to be replaced. i.e I enter 'ABCD' in the filter and it returns data with 'ABCD'
If I return to the page and change the filter to 'EFGH' I still get 'ABCD'. I return to the page and click the button again and I get 'EFGH' results
I've checked the data in the temporay table and that is updating in line with the problem.
I've looked at the debug and that seems fine (i.e I can see the changed filter value), I've tried moving the truncate to a different process, that didn't help.
I've run it in SQL developer and it seems to work fine.
I've included the code below, but I can't see a problem with it.
Can anybody help?
begin
EXECUTE IMMEDIATE('TRUNCATE TABLE temp_cat');
commit;
if length(:P26_ADD_FILTER) > 0 then
insert into temp_cat (core_cat_id, core_cat_code, core_cat_desc)
select core_cat_id,core_cat_code,core_cat_desc from core_cat where CONTAINS (core_cat_desc, '
<query>
<textquery lang="ENGLISH" grammar="CONTEXT">&P26_ADD_FILTER.
<progression>
<seq><rewrite>transform((TOKENS, "{", "}", " "))</rewrite></seq>
<seq><rewrite>transform((TOKENS, "{", "}", " ; "))</rewrite></seq>
<seq><rewrite>transform((TOKENS, "{", "}", "AND"))</rewrite></seq>
<seq><rewrite>transform((TOKENS, "{", "}", "ACCUM"))</rewrite></seq>
</progression>
</textquery>
<score datatype="INTEGER" algorithm="COUNT"/>
</query>')>0 and core_cat_id not in (select pipe_project_cat.core_cat_id from pipe_project_cat where txtpamref = :p26_pamref);
else
insert into temp_cat (core_cat_id, core_cat_code, core_cat_desc)
select core_cat_id,core_cat_code,core_cat_desc from core_cat where
core_cat_id not in (select pipe_project_cat.core_cat_id from pipe_project_cat where txtpamref = :p26_pamref);
end if;
end;
Edited by: jlynch on 24-Mar-2009 10:59
Edited by: jlynch on 24-Mar-2009 11:00

Sorry Please igonre - wrong forum!

Similar Messages

  • Problem with temporary table refresh

    Hi,
    I running a process before validation on a page to populate a temporary table when I click a button.
    On the following page I've built a shuttle on the temporary table. Not the most elegant solution, but the shuttle LOV box wouldn't process the oracle text commands in the SQL.
    I'm not getting any error, but I have an unusual problem
    It takes two passes for the data to be replaced. i.e I enter 'ABCD' in the filter and it returns data with 'ABCD'
    If I return to the page and change the filter to 'EFGH' I still get 'ABCD'. I return to the page and click the button again and I get 'EFGH' results
    I've checked the data in the temporay table and that is updating in line with the problem.
    I've looked at the debug and that seems fine (i.e I can see the changed filter value), I've tried moving the truncate to a different process, that didn't help.
    I've run it in SQL developer and it seems to work fine.
    I've included the code below, but I can't see a problem with it.
    Can anybody help?
    begin
    EXECUTE IMMEDIATE('TRUNCATE TABLE temp_cat');
    commit;
    if length(:P26_ADD_FILTER) > 0 then
    insert into temp_cat (core_cat_id, core_cat_code, core_cat_desc)
    select core_cat_id,core_cat_code,core_cat_desc from core_cat where CONTAINS (core_cat_desc, '
    <query>
    <textquery lang="ENGLISH" grammar="CONTEXT">&P26_ADD_FILTER.
    <progression>
    <seq><rewrite>transform((TOKENS, "{", "}", " "))</rewrite></seq>
    <seq><rewrite>transform((TOKENS, "{", "}", " ; "))</rewrite></seq>
    <seq><rewrite>transform((TOKENS, "{", "}", "AND"))</rewrite></seq>
    <seq><rewrite>transform((TOKENS, "{", "}", "ACCUM"))</rewrite></seq>
    </progression>
    </textquery>
    <score datatype="INTEGER" algorithm="COUNT"/>
    </query>')>0 and core_cat_id not in (select pipe_project_cat.core_cat_id from pipe_project_cat where txtpamref = :p26_pamref);
    else
    insert into temp_cat (core_cat_id, core_cat_code, core_cat_desc)
    select core_cat_id,core_cat_code,core_cat_desc from core_cat where
    core_cat_id not in (select pipe_project_cat.core_cat_id from pipe_project_cat where txtpamref = :p26_pamref);
    end if;
    end;

    Hi,
    Apex does not work well with temporary tables as you cannot guarantee which session from the pool will be used to serve each page.
    In your case, it looks like the second page is using temporary data from the wrong session.
    Have you considered using Apex Collections instead?
    Luis

  • Temporary Table/Cursor Problem

    I am in the process of migrating a bunch of Sybase stored procedures to Oracle. In several of them, I am using Sybase temporary tables to store data and use it in the where clause of later select statements. I thought that possibly Oracle cursor or ref cursors could do the job, but I'm having trouble getting anything to work right. Can anyone point me in the right direction? Here is an example of what I'm working with...
    -- This is what was formerly being kept in a
    -- Sybase temporary table
    OPEN c_temp_best_offers FOR
    SELECT
    request.request_id,
    proposal.originator_request_id,
    proposal.target_request_id,
    proposal.price,
    proposal.date_submitted
    FROM
    request,
    proposal,
    request_type
    WHERE
    request.request_type_id = request_type.request_type_id AND
    request.request_id = proposal.originator_request_id AND
    request_type.matching_request_type_id = v_my_request_type_id
    Now I need to somehow use that data in the from and where clauses of a select statement. Any help will be much appreciated.
    AJ

    That does help very much, thanks a lot!
    However, one question remains. What if the data you named 'ss1' needs to be used in another select statement later in the stored procedure. It would appear that I would have to use that parenthesized select statement form again. Is there a more efficient way to handle that? Again, thanks for your help thus far, it is greatly appreciated...
    AJ

  • Inline tables - refresh problem

    Hi,
    I've migrated an application created with ADF 10g to ADF BC 11g + Apache Trinidad.
    Some forms constist of master-detail tables (details as inline table).
    It worked ok with ADF 10g. It was created as 2 views connected with ViewLink in a standard way.
    With ADF BC 11g/Trinidad, at first glance, it looks and works ok.
    The problem occurs after page reload: when some of master table rows are disclosed: all detail tables are shown as empty (which is incorrect).
    After any partial reload (like disclosing any row in table), everything come back to normal (detail tables are filled with data).
    I searched the forum, but didn't find any solution.
    Any ideas ?
    Thanks in advance.
    Best regarts
    Marcin

    Since you don't provide essential information which would help us give advice, I had to guess some facts, such as your version and replication setup. In the 10.2 Advanced Replication manual, I found the following quote:
    "Oracle also supports the replication of tables and materialized views with columns that use the following large object types:
    Binary LOB (BLOB)
    (the chapter is at http://download-east.oracle.com/docs/cd/B19306_01/server.102/b14226/repplan.htm#i21350).
    It doesn't say anything about the BLOB columns having to be defined as "is not null". Therefore, from the little you said, I don't know why it wouldn't work. Do you have any details to provide for us? Otherwise, I could try myself in the next couple of days, and let you know how that worked.
    Daniel

  • JTable Refreshing problem for continuous data from socket

    Hi there,
    I am facing table refreshing problem. My table is filled with the data received from socket . The socket is receiving live data continuously. When ever data received by client socket, it notify table model to parse and refresh the data on specific row. The logic is working fine and data is refresh some time twice or some thrice, but then it seem like java table GUI is not refreshing. The data on client socket is continuously receiving but there is no refresh on table. I am confident on logic just because when ever I stop sending data from server, then client GUI refreshing it self with the data it received previous and buffered it.
    I have applied all the available solutions:
    i.e.
         - Used DefaultTableModel Class.
         - Created my own custem model class extend by AbstractTableModel.
         - Used SwingUtilities invokeLater and invokeAndWait methods.
         - Yield Stream Reader thread so, that GUI get time to refresh.
    Please if any one has any idea/solution for this issue, help me out.
    Here is the code.
    Custom Data Model Class
    package clients.tcp;
    import java.util.*;
    import javax.swing.table.*;
    import javax.swing.*;
    public class CustomModel extends DefaultTableModel implements Observer {
    /** Creates a new instance of CustomModel */
    public CustomModel() {
    //super(columnNames,25);
    String[] columnNames = {"Sno.","Symbol","BVol","Buy","Sale",
    "SVol","Last","..","...","Total Vol...",
    "..","High","..","Low","Change","Average","..."};
    super.setColumnIdentifiers(columnNames);
    super.setRowCount(25);
    /*This method called by client socket when ever it recived data as line/record*/
    public synchronized void update(Observable o, Object arg){
    collectData(arg.toString());
    /*This method used to parse, collect and notify table for new data arrival*/
    public synchronized void collectData(String rec){              
    String validSymbol="";
    System.out.println("collectDataRecord :-"+rec);
    StringTokenizer recToken=new StringTokenizer(rec," ");
    Vector rowVector=new Vector();
    for(int i=0;i<25;i++){
    validSymbol=(String)getValueAt(0,1);
    if(rec.indexOf(validSymbol) != -1){
    for(int j=0;recToken.hasMoreTokens();j++){
    super.setValueAt(recToken.nextToken(),i,j);
    //break;
    Client Socket Class
    package clients.tcp;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    public class DataReceiver extends Observable implements Runnable{
    private Socket TCPConnection = null;
    private BufferedReader br = null;
    private String serverName = "Salahuddin";
    private int serverPort = 5555;
    public DataReceiver()
    public void setServerName(String name){
    this.serverName=name;
    public void setServerPort(int port){
    this.serverPort=port;
    //03-20-04 12:30pm Method to open TCP/IP connection
    public void openTCPConnection()
    try
    TCPConnection = new Socket(serverName, serverPort);
    br = new BufferedReader(new InputStreamReader(
    TCPConnection.getInputStream()));           
    System.out.println("Connection open now....");
    //System.out.println("value is: "+br.readLine());
    }catch (UnknownHostException e){
    System.err.println("Don't know about host: ");
    }catch (IOException e){
    System.err.println("Couldn't get I/O for "
    + "the connection to: ");
    //03-20-04 12:30pm Method to receive the records
    public String receiveData(){
    String rec = null;
    try
    rec = br.readLine();          
    catch(IOException ioe)
    System.out.println("Error is: "+ioe);
    ioe.printStackTrace(System.out);
    catch(Exception ex)
    System.out.println("Exception is: "+ex);
    ex.printStackTrace(System.out);
    return rec;     
    public void run()
    while(true)
    String str=null;
    str = receiveData();
    if(str != null)
    /*try{
    final String finalstr=str;
    Runnable updateTables = new Runnable() {
    public void run() { */
    notifyAllObservers(str);
    SwingUtilities.invokeAndWait(updateTables);
    }catch(Exception ex){
    ex.printStackTrace(System.out);
    System.out.println("Observer Notified...");*/
    try{
    Thread.sleep(200);
    }catch(Exception e){
    public synchronized void notifyAllObservers(String str){
    try{
    setChanged();
    notifyObservers(str);
    }catch(Exception e){
    e.printStackTrace(System.out);
    Regards,
    Salahuddin Munshi.

    use your code to post codes more easy to read, lyke this:
    package clients.tcp;
    import java.util.*;
    import javax.swing.table.*;
    import javax.swing.*;
    public class CustomModel extends DefaultTableModel implements Observer {
    /** Creates a new instance of CustomModel */
    public CustomModel() {
    //super(columnNames,25);
    String[] columnNames = {"Sno.","Symbol","BVol","Buy","Sale",
    "SVol","Last","..","...","Total Vol...",
    "..","High","..","Low","Change","Average","..."};
    super.setColumnIdentifiers(columnNames);
    super.setRowCount(25);
    /*This method called by client socket when ever it recived data as line/record*/
    public synchronized void update(Observable o, Object arg){
    collectData(arg.toString());
    /*This method used to parse, collect and notify table for new data arrival*/
    public synchronized void collectData(String rec){
    String validSymbol="";
    System.out.println("collectDataRecord :-"+rec);
    StringTokenizer recToken=new StringTokenizer(rec," ");
    Vector rowVector=new Vector();
    for(int i=0;i<25;i++){
    validSymbol=(String)getValueAt(0,1);
    if(rec.indexOf(validSymbol) != -1){
    for(int j=0;recToken.hasMoreTokens();j++){
    super.setValueAt(recToken.nextToken(),i,j);
    //break;
    Client Socket Class

  • Problem with global temporary table in Oracle 10g

    Hi All,
    I face a peculiar problem in Oracle 10g with respect to Global temporary table.
    Have Oracle 10g version in Production and 11g version in UAT.
    Table_
    create global temporary table TT_TEMPGPSMANUAL
      Col_1    VARCHAR2(50),
      Col_2    VARCHAR2(500),
      Col_3    VARCHAR2(50),
      Col_4    VARCHAR2(50),
      Col_5    VARCHAR2(15),
      Col_6    VARCHAR2(20),
      Col_7    VARCHAR2(250),
      Col_8    VARCHAR2(20),
      Col_9    VARCHAR2(15),
      Col_10   VARCHAR2(20),
      Flag     NUMBER,
      Col_11   INTEGER,
      Col_12   VARCHAR2(50)
    on commit preserve rows;So this should preserve the rows inserted into this table until the session ends.
    Have a webpage in front-end where in turn, it opens another page (session is carried through) and a few rows will be inserted to this table from the webpage (through a function) on submit and the current page will be closed.
    From the parent page, if I open the sub-page data inserted in the temporary table are held and displayed (another function to fetch the values in the Global Temp table).
    The Problem in Oracle 10g (Production) is, this is not happening properly. When I close and open the sub-page, not every time I get the data stored i.e if I close and open the page 10 times, atelast 4 times the data is missed in the page (I am not getting values from temp table) randomly.
    But this does not happen in UAT (which has Oracle 11g installed) as I get the data in the webpage consistently. After passing UAT, when we rolled out to Prod, getting this issue which we are unable to get what could be the reason.
    It is very hard to debug using GTT dynamically in prod. It takes time to get Oracle 11g installed in Prod.
    Can anyone suggest?
    Regards
    Deep

    935195 wrote:
    Also, I am opening the sub-page from the parent page (through a hyperlink). Then in this case, Would session will be changed from parent to subpage? (I am not aware exactly and have the impression that, as the second page is a child, I guess it would take the same session).I'm not sure what "sub-page" or "parent page" means to you. If you're just linking from one page to another, "parent" and "child" don't really make sense since page A links to page B and B links to A quite frequently.
    Assuming that you have to log in to access the site, it is likely that the two pages share the same middle tier application session. It is unlikely that the middle tier would hold the database session from the first request open waiting to see if the user eventually requested the second page. It is theoretically possible that you could code your middle tier this way but it is extremely unlikely that you would want to do so for a variety of reasons. So, when you say "would [the] session ... be changed", it is likely that the application session would be the same for both calls but that the database session would be different.
    Justin

  • Problem with Temporary Table (Urgent)

    Hi all,
    Yesterday also i was facing da problem of gettin records from a global temporary table .. Today also i made a procedure in which i have to create a temporary table according to da select query ..and when i m printing da count(*) from tht table .. result is 0 tht means records r not inserting ..
    But if i m creatin it as a normal Create Table i m gettin da result..
    I want the table shud b created n records fetch by the query shud b inserted.. I have checked query is fetchin records..
    Sorri but still da same proble .. pls help me out
    PROCEDURE prn_trnASRGetStudentCertInfo(strIntakeSession          IN sisStudent.IntakeSession          %TYPE,      
                             strProgramCode          IN sisStudent.ProgramCode          %TYPE)
         AS
         intCount Number(3);
         SQLSTR     varchar2(100);     
         BEGIN
              EXECUTE IMMEDIATE 'CREATE GLOBAL TEMPORARY TABLE tmpStudentCert
                        AS
                        SELECT     sisEnrolment.EnrolmentID     As EnrolmentID,     
                                  sisEnrolment.StudentID          As StudentID,
                                  sisEnrolment.ProgramCode     As PrgCode,
                                  sisCourseEnrolled.CourseCode     As CourseCode,
                                  sisCourseEnrolled.Status     As Status,
                                  exmCCResult.Status           As exmStatus     
                        FROM          sisStudent
                        INNER JOIN sisEnrolment
                        ON
                             sisStudent.StudentID = sisEnrolment.StudentID
                        INNER JOIN sisCourseEnrolled
                        ON
                             sisEnrolment.EnrolmentID = sisCourseEnrolled.EnrolmentID
                        INNER JOIN exmCCResult
                        ON
                             sisCourseEnrolled.CourseCode =      exmCCResult.CourseCode
                        AND
                             sisCourseEnrolled.ProgramCode = exmCCResult.ProgramCode     
                        WHERE
                             UPPER(TRIM(sisStudent.IntakeSession)) = UPPER(TRIM('''||strIntakeSession||'''))
                        AND
                             UPPER(TRIM(sisStudent.ProgramCode)) = UPPER(TRIM('''||strProgramCode||'''))
                        AND
                             UPPER(TRIM(sisCourseEnrolled.Status)) <> TRIM(''D'')
                        AND
                             UPPER(TRIM(exmCCResult.Status)) = TRIM(''P'')';
              COMMIT;     
              SQLSTR := 'SELECT COUNT(*) FROM TMPSTUDENTCERT';
              EXECUTE IMMEDIATE SQLSTR INTO INTCOUNT;
              dbms_OUTPUT.PUT_LINE(INTCOUNT);
         END prn_trnASRGetStudentCertInfo;

    Hi there,
    You have had quite a few replies from the previous post and you should have learnt from that.
    Creating a procedure to do what you are trying to do is logically not sound.
    Firstly, a Global temporary table IS a database object which continous to exist like a normal table except that its data is not permanent. Therefore, there is no point in creating it dynamically in a procedure.
    Secondly, as I pointed out earlier, the data is temporary and it is gone once you issue a commit. A DDL like 'Create Table' will implicitly issue a commit after it has created the table - therefore all the data inserted as part of the Create Table statement will never be there.
    Hence, the subsequent SELECT COUNT(*) from the table will always return 0.
    Regards,
    John

  • Creating temporary table in pl/sql block problem

    hello
    i have a problem in creating and using temporary table in pl/sql block
    please verify below block
    begin
    execute immediate 'create global temporary table alitemp1 (co_t varchar2(10),color varchar2(10))';
    insert into alitemp1 (co_t,color) values ('001','red');
    execute immediate 'DROP TABLE alitemp1';
    end;
    when i execute that block i will receive this error
    insert into alitemp1 (co_t,color) values ('001','red');
    ERROR at line 3:
    ORA-06550: line 3, column 14:
    PL/SQL: ORA-00942: table or view does not exist
    ORA-06550: line 3, column 2:
    PL/SQL: SQL Statement ignored
    i think it because that alitemp1 table don't create
    but two below block run fine
    begin
    execute immediate 'create global temporary table alitemp1 (co_t varchar2(10),color varchar2(10))';
    execute immediate 'DROP TABLE alitemp1';
    end;
    begin
    execute immediate 'create global temporary table alitemp1 (co_t varchar2(10),color varchar2(10))';
    end;
    select table_name from user_tables where table_name='ALITEMP1';
    TABLE_NAME
    ALITEMP1
    it means that problem is when the below line exists in block
    insert into alitemp1 (co_t,color) values ('001','red');
    if may please guide me

    In addition to the comments by Justin and 3360, you cannot do what you want the way you are doing it.
    All objects referred to in a PL/SQL block must exist at the time the block is compiled. In your case, since it is an anonomous block, that is run time. Since you are dynamically creating the temporary table you need to refer to it dynamically as well. More like:
    BEGIN
    EXECUTE IMMEDIATE 'create global temporary table alitemp1 (co_t varchar2(10),
                                                               color varchar2(10))';
    EXECUTE IMMEDIATE 'insert into alitemp1 (co_t,color) values (:b1,:b2)' USING '001', 'red';
    EXECUTE IMMEDIATE 'DROP TABLE alitemp1';
    END;However, don't do that it is a really bad idea. Just create the temporary table, if you really need it, once and use it in your processing.
    In most cases, things that SQL Server needs temporary tables for can be done easily in Oracle with a single SQL statement,
    John

  • Problem ! Calling report6 from forms6(run_product()) using global temporary table.

    Requirement :
    To generate stock movement report for certain selected items.
    Background :
    A Form is created with data block (tmp_item_master - a global temporary table)
    when_new_form_instance :
    inserting into tmp_item_master from item_master and then execute_query on tmp_item_master block.
    User selects certain items using check box provided.
    Now tmp_item_master is updated for ch_select_flag_yn = 'Y' for selected items
    and commit.
    Calling report from form(using run_product()).
    Now the main query in report, is joined with tmp_item_master where ch_select_flag_yn = 'Y'
    Here, we are unable to see the report for any item. As the global temporary table data is not visible in the report session.
    How to resolve this problem ?
    Note : global temporary table created with ON COMMIT PRESERVE ROWS
    Thanking you,
    From praful.
    null

    Hi,
    You are using 'ON Commit Delete Rows' . Instead of Use ' ON COMMIT PRESERVE ROWS'
    The ON COMMIT DELETE ROWS clause indicates that the data should be deleted at the end of the transaction.
    CREATE GLOBAL TEMPORARY TABLE my_temp_table (
    column1 NUMBER,
    column2 NUMBER
    ) ON COMMIT DELETE ROWS;
    In contrast, the ON COMMIT PRESERVE ROWS clause indicates that rows should be preserved until the end of the session.
    CREATE GLOBAL TEMPORARY TABLE my_temp_table (
    column1 NUMBER,
    column2 NUMBER
    ) ON COMMIT PRESERVE ROWS;
    Edited by: Mrucha on Nov 26, 2012 6:06 AM

  • Global temporary table problem ???

    I defined a temporary table which is used by my procedures. It was defined as 'on commit delete rows'. When I test those procedures manually, it works fine. But when the procedures are called in our application, I got 'ora-08103 object no longer exists'. (The temporary table is only used before commit the transanction in our applicaiton).
    After I changed the temporary table back to 'on commit preserve rows' and deleted all rows from it each time before using it, the problem was gone.
    Anyone knows why this happened? I have a before insert trigger on that temporary table.
    Thanks

    When I tested my app, I only had one user connected, I don't have DBMS_APPLICTION_INFO in my proc.
    I am not whether that trigger is the issue or not, I remember that trigger starts a seperate transanction, if that's true, the problem might be caused by trigger commiting the transanction. I need to double check this, I could be wrong.
    any other ideas?

  • Problem with GLOBAL TEMPORARY TABLE  into SP

    im trying to create a temporary table into a sp but it show me an error , this is the store
    CREATE OR REPLACE PROCEDURE sp_sample IS
    BEGIN
    CREATE GLOBAL TEMPORARY TABLE tmp_datos_entrada
    ON COMMIT DELETE ROWS AS
         Select * from Customer where NAME = 'LOPEZ';
    END sp_sample

    Hi,
    You can't execute DDL directly in PL/SQL, it's not supported.
    You can, however, use Native Dynamic SQL to do this in the following manner:
    begin
       execute immediate 'create table t(x int)';
    end;You will need to use the autonomous_transaction pragma to maintain transactional integrity.
    But you may want to think about WHY you are doing this in a SP. You should probably just create the global temporary table as a permanent database object. It's refreshed on commit anyway -- I think you're missing the point slightly.
    cheers,
    Anthony

  • Problem with temporary table in stored procedure

    Hi,
    I have to execute a stored procedure in java , where the stored procedure has refcursor as out parameter and within the procedure the refcursor out parameter is populated from a temporary table
    when iam trying to get the resultset in my program iam getting the oracle error: ora-08103 object is no longer in use.
    I think this is becos the temporary table object is not available to my program
    can any one please help me

    I don't understand this part.
    Your procedure has "argSchemaName" as input parameter. Why do you have hardcoded owner name here in the cursor?
    >>
    CURSOR csrEligTables IS
    SELECT
    object_name
    FROM
    all_objects
    WHERE
    Owner = 'HI0XXX001'
    AND
    >>
    The anonymous block that you are running also has same owner name.

  • Problem while creating index for temporary table...

    Hi,
    i have created index for a temporary table and this script should used by multiusers.So when second user connecting to it is giving index i mean object already exists.
    So what i need is when the second user connected the script should create one more index on temporary table.Will sql server provide any random way of creating indexes if the index exists already with that name??
    Thank You,

    Nope..
    SQL Server is cleaver enough to handel this situation.
    When you create a index or constraint on the Temp Table, eventhough the index name is duplicate it will allow.
    But it only possible on temp tables (prefixed with single #).
    To Test this,
    Open Two window,
    Execute the below window on the opened 2 window..
    create table #test
                id int
    Insert Into #test values(1);
    Insert Into #test values(2);
    Create clustered index testindex on #test(id)
    Now you wont get any error on any of the window. Rite?
    To fetch the created index details, execute the below code on any one of the window..
    select * from sysindexes where name like '%test%'
    Now you can see the 2 rows with same indexname but refereing with different table. Yes. all the temp tables (#) will be suffixed with unique number to avoid the object already found error while multiple users connects.
     

  • Problem creating index on global temporary table

    Running Oracle DB Oracle9i Release 9.2.0.7.0.
    I'm trying to create 3 indexes on a temporary table, the first index creates fine but the other remaining 2 result in the following error:
    ERROR at line 1: ORA-00600: internal error code, arguments: [kftts2bz_many_files], [0], [20], [], [], [], [], []
    Have tried searching with not much success, any pointers, tips, hints would be appreciated, below is the table and the indexes:-
    create global temporary TABLE contacts (
    ID VARCHAR2(20) NOT NULL,
    DOB VARCHAR2(8),
    HH_LASTNAME VARCHAR2(90),
    PERSON VARCHAR2(10) NOT NULL,
    CONT_JOB VARCHAR2(90) NOT NULL,
    SOURCE VARCHAR2(8) NOT NULL,
    ADS VARCHAR2(8) NOT NULL,
    CONT VARCHAR2(8) NOT NULL,
    SRCPERSONID VARCHAR2(15),
    FIRSTNAME VARCHAR2(90),
    MIDDLENAME VARCHAR2(90),
    LASTNAME VARCHAR2(90),
    FULLNAME VARCHAR2(90),
    TITLE VARCHAR2(50),
    SALUTATION VARCHAR2(90),
    ) on commit delete rows;
    create index i_contact_1 on contacts(dob, soundex(hh_lastname ));
    create index i_contact_pk on contacts(id, person, cont_job, source, ads, cont);
    create index i_contact_2 on contacts(srcpersonid, source);

    Bug 3238525 - Upgrade from 9.0 can leave corruptdata for global temporary table indices
    ORA-600 [kftts2bz_many_files]
         Doc ID:      285592.1

  • Temporary table problem

    Dear All,
    my application frend end ASP.net backend oracle i have temporary table with commit delete on table .asp.net application auto commit on temporary table
    i am not unable to fetch the data in temporary table please give correct solution

    you haven't provided much information...
    but if you are using global temporary tables, then ensure they don't have the "on commit delete" option set.
    alternately, rethink your design - perhaps use collections rather than GTT's

Maybe you are looking for

  • QA32: Stock In Quality But no Inpsection Lot

    Greeting..             I have raw maetrial which i recievd against Purchase order , and its showing under qulity stock in stock overview.....But in QA32 i m not getting the Lot for this..no where i m founding the Lot of this material.. How to make th

  • How to terminate background job for MRP

    Hi dudes, how to terminate background job set earlier and i want start again with fresh scheduling. as user discontinued using the MRP process. thanks inadvance for quick response. Robert.

  • ESS leave request

    Dear friends in ESS leave request workflow , in approval process task i am maintaining 10 days deadline , after that by using process control i am making the workitem to be obselete , then same leave request is going to supervisor's supervisor . this

  • Stack XML creation for specific package

    Hello I want to upgrade my ERP 6.0 EHP4 system's LSOFE 603 to 604 but I received I need a stack.xml for upgrade. Our Solution Manager 7.0 EHP1 system is recognising ERP system's SP levels but it is not giving me an upgrade option for LSOFE. I only sa

  • Hi All Experts , In PLD's Doc total amt in USD shud be  convert in words

    All Experts, As per  Client requirement in document printing they required Document total amount in words. I am able to convert in total amount in words but main issue is its shown  proper if  document in US Dollar amount. Can i make amounts in words