Multiple Primary Keys - MySQL to Oracle 9i

I was wondering, does OMWB make the necessary sequences and triggers in the database migration in which a table in MySQL has multiple primary keys. Based on my migration, I took at look at then Enterprise Manager, all i saw was that a squence was created but it did not say which column.
Could someone give me any advice on this, this is the first time using this.
Tks,
Andrew

Andrew,
only one PRIMARY KEY can exist on a table - you can have multiple UNIQUE indexes. OMWB migrates each PRIMARY KEY and
UNIQUE index in MySQL to PRIMARY KEY and UNIQUE indexes in Oracle. This is why I am not clear about your question. You would
see TRIGGERS and SEQUENCES created by OMWB when it migrates the ENUM and AUTO INCREMENT. Can you explain
the problems you are having a little more please? I hope the information I have already provided is of some help.
Regards,
Team OMWB.

Similar Messages

  • How shall we do validation for Unique Key and Multiple Primary Key?

    Hi,
    I have table created From EO in which one column is checked as Unique.
    How to do validation for column checked as Unique.
    I know how to do validation for column checked as primary key.
    Below is sample code for primary key validation
    if (getRvSize() != null)
    throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), // EO name
    getPrimaryKey(), // EO PK
    "RvSize", // Attribute Name
    value, // Attribute value
    "AK", // Message product short name
    "FWK_TBX_T_EMP_ID_NO_UPDATE"); // Message name
    if (value != null)
    OADBTransaction transaction = getOADBTransaction();
    Object[] rvKey = {value};
    EntityDefImpl rvDefinition = xxczVAGCSRVSizingEOImpl.getDefinitionObject();
    xxczVAGCSRVSizingEOImpl rv =
    (xxczVAGCSRVSizingEOImpl)rvDefinition.findByPrimaryKey(transaction, new Key(rvKey));
    if (rv != null)
    throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), // EO name
    getPrimaryKey(), // EO PK
    "RvSize", // Attribute Name
    value, // Attribute value
    "AK", // Message product short name
    "FWK_TBX_T_EMP_ID_UNIQUE"); // Message name
    What changes need to be done for above code in order to do the validation for Unique Key.
    I have one more Question
    How shall we do the Validation for Multiple Primary Key in a table?
    - Mithun

    1. If you just validate on one attribute like your unique key, then put your logic in the set<Your AttributeName) method
    2. If you want to do the cross validation ( like validating multiple attributes) then put your logic in the validateEntrity Method
    How to do that?
    1. Create a Validation View object.
    2. Associate your VVO to the VAM
    3. Create entity expert.
    4. Have method in entity expert for your validation (you would be calling AM and then VO execute the query and do the validation.
    5. You would be calling the Entity experty method from your EO either setMethods or validateEntity.
    I have given just the high level points.
    Hope this helps.
    Thanks,
    RK

  • Use multiple primary keys to create DB constraint

    Hi,
    Is it possible to have multiple primary keys within one EJB to create a DB including the constraints, if so how? Is there an example of this or any example which uses multiple primary keys to create a DB?
    Thanks,
    Maarten

    "Is it possible to have multiple primary keys within one EJB..."
    If you mean a composite key, yes. Your PrimaryKeyObject would have one attribute for each column that makes up your composite key. If that's not what you meant, please clarify.
    "...to create a DB including the constraints"
    Not sure what you mean here. Constraints are enforced by the DB, and you don't create databases with EntityBeans.

  • Translate INSERT ON DUPLICATE KEY (mysql) to Oracle

    Hello. I have the following MySQL statement:
    INSERT into A
    SELECT * FROM B
    ON DUPLICATE KEY UPDATE A.repeated_count=A.repeated_count+1;
    Therefore if the row is already in the primary key is not inserted but there is a column counting the number of times this happens (repeated_count)
    Is there any equivalent in Oracle SQL? I guess I may need a trigger.
    Thanks

    In Oracle the counter part statement is MERGE
    http://www.psoug.org/reference/merge.html

  • CMP with Primary key generation in Oracle

    I need to know how can I from my Entity Beans use Oracle sequences to automatically create my primary key.
    I know that Weblogic lets to define with sequence to use in the deployment descriptor, but the problem is that I am using Websphere Application Server.
    Does anyone have any suggestion doing this.
    Very Thanks!!

    See if this link helps - http://theserverside.com/patterns/thread.jsp?thread_id=220

  • I am trying to create a sequence to be use as primary key in a Oracle table

    Hi guys
    I have the ODI version 10.3.5 and I am trying to create a sequence that populates de row_id for a table. The schema is a database.
    And I want that this item will be the primary key of the table that is loaded at execute the interface however I'm getting issues.
    So please advise me.

    Hi ,
    Can you please provide the following details :
    1. What is the execution area of your sequence ? Is it source or staging or Target.
    2. What IKM you are using ( I hope you are executing sequence in Staging or Target ) ?
    My understanding is when you check Not Null , all your rows are going to Error table. So it is not giving any error.
    When you uncheck the Not Null , it is giving error because Database is not allowing Null values in the Primary Key Column.
    You can do the following to check if your sequence is working properly.
    Try to write a Insert Select query in DB and execute it and see if it is working properly.
    i.e.
    insert into      EMPL     (
         EMPNO,
         ENAME,
         JOB,
         MGR,
         HIREDATE,
         SAL,
         COMM,
         DEPTNO
    select      S_EMPNO.NEXTVAL,
         ENAME,
         JOB,
         MGR,
         HIREDATE,
         SAL,
         COMM,
         DEPTNO
    from     EMP
    or if you can provide your query in this format , it will help in finding the issue quickly.Also provide the KM details.

  • FindByPrimaryKeys with multiple primary keys

    Hi, I have a table which has a primary key over 2 fields.
    I have learned that in this case, I must leave out the <primkey-field> tag from my ejb-jar.xml. In my Entity Bean's Home interface, do I still need to declare a findByPrimaryKey finder method or do I leave it out?
    Thanks!

    Hi,
    When you have primary key in 2 fields, then you have to combine them into a class called primary key class.
    And yes in your ejb-jar.xml the value for <primkey-field> will be left empty and the value for tag <primkey-key-class> would be the name of your primary key class that you generated. Otherwise, the normal valu would be java.lang.String.

  • Oh.. Primary key index is missing!

    Database: 10.2.0.4.0
    Platform : Linux
    SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,INDEX_NAME FROM DBA_CONSTRAINTS WHER
    E TABLE_NAME='ISSUE_COMMENTS';
    CONSTRAINT_NAME C STATUS VALIDATED
    SYS_C0031516 C ENABLED VALIDATED
    SYS_C0031517 C ENABLED VALIDATED
    SYS_C0031519 P ENABLED VALIDATED
    SQL> SELECT INDEX_NAME,TABLE_NAME FROM DBA_INDEXES WHERE TABLE_NAME='ISSUE_COMMENTS';
    INDEX_NAME TABLE_NAME
    INDEX_ISSUE_COMMENTS ISSUE_COMMENTS
    SQL> select distinct index_name,column_name,table_name from dba_ind_columns wher
    e table_name in ('ISSUE_COMMENTS');
    INDEX_NAME COLUMN_NAME TABLE_NAME
    INDEX_ISSUE_COMMENTS IDX ISSUE_COMMENTS
    INDEX_ISSUE_COMMENTS ISSUE_ID ISSUE_COMMENTS
    INDEX_ISSUE_COMMENTS PARENT_ID ISSUE_COMMENTS
    Where is the index for the primary key 'SYS_C0031519'?
    SQL>
    After droping and recreating the primary key also,just primary constrainy is created but there is no corresponding index.
    SQL> ALTER TABLE ISSUE_COMMENTS DROP CONSTRAINT SYS_C0031519;
    Table altered.
    SQL> ALTER TABLE ISSUE_COMMENTS ADD PRIMARY KEY (IDX)
    2 USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
    3 STORAGE(INITIAL 32768 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
    4 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
    5 TABLESPACE "TABLE_DATA" ENABLE;
    Table altered.
    SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,status,validated FROM DBA_CONSTRAINT
    S WHERE TABLE_NAME='ISSUE_COMMENTS';
    CONSTRAINT_NAME C STATUS VALIDATED
    SYS_C0031516 C ENABLED VALIDATED
    SYS_C0031517 C ENABLED VALIDATED
    SYS_C0034310 P ENABLED VALIDATED
    SQL> SELECT INDEX_NAME,TABLE_NAME FROM DBA_INDEXES WHERE TABLE_NAME='ISSUE_COMMENTS';
    INDEX_NAME TABLE_NAME
    INDEX_ISSUE_COMMENTS ISSUE_COMMENTS
    SQL> select distinct index_name,column_name,table_name from dba_ind_columns wher
    e table_name in ('ISSUE_COMMENTS');
    INDEX_NAME COLUMN_NAME TABLE_NAME
    INDEX_ISSUE_COMMENTS IDX ISSUE_COMMENTS
    INDEX_ISSUE_COMMENTS ISSUE_ID ISSUE_COMMENTS
    INDEX_ISSUE_COMMENTS PARENT_ID ISSUE_COMMENTS
    Here also, the primary key constraint SYS_C0034310 is available but there is no index for that primary key.
    Where the primary index has gone?

    MohanaKrishnan wrote:
    Database: 10.2.0.4.0
    Platform : Linux
    SQL> SELECT CONSTRAINT_NAME,CONSTRAINT_TYPE,INDEX_NAME FROM DBA_CONSTRAINTS WHER
    E TABLE_NAME='ISSUE_COMMENTS';
    CONSTRAINT_NAME C STATUS VALIDATED
    SYS_C0031516 C ENABLED VALIDATED
    SYS_C0031517 C ENABLED VALIDATED
    SYS_C0031519 P ENABLED VALIDATED
    Your first query is not consistent with the first set of results you have displayed.
    Your later query for index columns is also not very helpful as it won't list the column names in the right order.
    The probably answer to your question is that the index you have is non-unique and starts with the column you've used for the primary key, which means Oracle can use it to support the primary key constraint. Here's a quick cut-n-paste from a SQL*Plus session to demonstrate the point:
    SQL> create table t1 (n1 number, v1 varchar2(10));
    Table created.
    SQL> create index t1_n1 on t1(n1);
    Index created.
    SQL> alter table t1 add primary key(n1);
    Table altered.
    SQL> select index_name from user_indexes where table_name = 'T1';
    INDEX_NAME
    T1_N1
    1 row selected.
    SQL> select constraint_name, constraint_type, index_name from user_constraints
      2  where table_name = 'T1';
    CONSTRAINT_NAME      C INDEX_NAME
    SYS_C0033465         P T1_N1
    1 row selected.
    SQL> spool offNote how I've added a primary key with no name, and Oracle has decided to use the t1_n1 index to support it.
    Regards
    Jonathan Lewis
    http://jonathanlewis.wordpress.com
    http://www.jlcomp.demon.co.uk
    "Science is more than a body of knowledge; it is a way of thinking" Carl Sagan
    Edited by: Jonathan Lewis on Dec 31, 2008 2:16 PM
    Apologies to Satish - I didn't see either prior post

  • How to Create process of Type : Get Next or Previous Primary Key Value

    Hi,
    Can anybody give the steps how to create the page process for type Get Next or Previous Primary Key Value in oracle Express database
    Ramesh j c.

    Hi Justin,
    In oracle 10g XE , we have sample application v2.0
    1. Do you have any Document to create step by step the sample application v2.0 and Is it possible to create all the pages of this sample application v2.0 b by wizard. To recreate or create the demo app, start from the home area,
    next go to application builder,
    then click the create button,
    next choose "demonstration application"
    and then you can choose "Run | Edit | Re-install" the "Sample Application" along with a few other apps.
    2. When we install this sample application v2.0 , which is the sql script is executed or how it is installed. If you want the sample application you can export it after you create it if you want the SQL associated with it.
    3. Whenever the sample application v2.0 is installed, how the encrypted pass word is created for the user demo and admin. This is setup with the application install. I don't believe it is encrypted either. If your wanting SSL there are some threads on here that talk about encrypting content.
    Justin thanks for to create process Get Next or Previous Primary Key Value

  • Two column primary keys

    Hello,
    I am using two columns for my primary key. However when I crate a report and form pages, it doesn't work. The report page shows up but when I click on the edit icon next to each record it gives an error message.

    Zahid Khan wrote:
    Hi User (very common name!),
    In the following simple page I am using empno and hiredate columns as primary key:
    http://apex.oracle.com/pls/otn/f?p=9396:10
    It would be easier to help you if you set up an example on OTN.
    Thanks,
    ZahidDear Zahid,
    I looked at the application example you provided and the way the trigger ensures the trunc function is called on the date field before writing it to the db table, so the date retrieved from the db looks exactly the same as the date inserted.
    CREATE TABLE "EMP_DATE_KEY"
    (     "EMPNO" NUMBER,
         "ENAME" VARCHAR2(10),
         "HIREDATE" DATE,
         "SAL" NUMBER,
         "DEPTNO" NUMBER,
         CONSTRAINT "PK_EMP_DATE_KEY" PRIMARY KEY ("EMPNO", "HIREDATE") ENABLE
    CREATE OR REPLACE TRIGGER "BIUD_EMP_DATE_KEYS"
    before insert on emp_date_key
    for each row
    begin
    select nvl(max(empno),0)+1, trunc(sysdate)
    into :new.empno, :new.hiredate from emp_date_key;
    end;
    ALTER TRIGGER "BIUD_EMP_DATE_KEYS" ENABLE
    Line: --------
    However the database I am dealing with has not used the trunc function when creating the date field values and the primary key, by the way this db is very old and has a lot of data in it.
    any suggestions?
    Thanks,
    user

  • Primary key generation

    How do use primary keys generated by database within entity bean?

    DBMS primary key generation uses a set of deployment descriptors that
    are specified at compile time to generate container code which is used
    in conjunction with a supported database to provide key generation
    support. Specify the name of the supported DBMS and the generator name,
    if required by the database. Generated primary key support for Oracle
    databases use Oracle's SEQUENCE. Once the SEQUENCE already exists in the
    database, you specify automatic key generation in the XML deployment
    descriptors. In the weblogic-cmp-rdbms-jar.xml file
    <automatic-key-generation>
    <generator-type>ORACLE</generator-type>
    <generator_name>test_sequence</generator-name>
    <key-cache-size>10</key-cache-size>
    </automatic-key-generator>
    You need to specify the name of the ORACLE SEQUENCE to be used in the
    generator-name element. If the ORACLE SEQUENCE was created with an
    INCREMENT value, then you must specify a key-cache-size. This value must
    match the Oracle SEQUENCE INCREMENT value.
    Owen wrote:
    How do use primary keys generated by database within entity bean?

  • Substitute primary keys

    Substitute primary keys
    In mine oracle to the scheme in main are used substitute primary keys - ID (input in the table is watched with the appropriate trigger). The user of them should not see but to use them for programming it is necessary.
    How to make, that the wizard on creation business of the component has put for these fields the parameter - invisible? Who as solves this problem?

    PRIMARY KEY is never NULL.
    FOREIGN KEY can be NULL or not NULL.
    PRIMARY KEY is a not null UNIQUE key.
    BOL: "A table can have only one PRIMARY KEY constraint, and a column that participates in the PRIMARY KEY constraint cannot accept null values. Because PRIMARY KEY constraints guarantee unique data, they are frequently defined on an identity column."
    LINK:
    http://technet.microsoft.com/en-us/library/ms191236(v=sql.105).aspx
    Kalman Toth Database & OLAP Architect
    SELECT Video Tutorials 4 Hours
    New Book / Kindle: Exam 70-461 Bootcamp: Querying Microsoft SQL Server 2012

  • Creating an unique index instaed of using primary key index

    Hi ,
    I heard in a debate sometimes it's better to create a unique index on a column and using it instaed of using primary key index in oracle.I couldn't understand what the reason propely.
    Can anyone please help me in thsi topic if it is a valid one .
    Thanks in advance

    Hi,
    They are exactly NOT identical.
    1. Unique key can have NULL values where primary keys can't.
    2. Primary key is fundamentally those keys which do not change. I mean updating a primary key is not a good idea.
    SQL> drop table test;
    Table dropped.
    SQL> create table test ( a number(2));
    Table created.
    SQL> ed
    Wrote file afiedt.buf
      1* create unique index test_idx on test(a)
    SQL> /
    Index created.
    SQL> ed
    Wrote file afiedt.buf
      1* insert into test values(NULL)
    SQL> /
    1 row created.
    SQL> drop table test;
    Table dropped.
    SQL>
    SQL> create table test ( a number(2) primary key);
    Table created.
    SQL> insert into test values(NULL);
    insert into test values(NULL)
    ERROR at line 1:
    ORA-01400: cannot insert NULL into ("HR"."TEST"."A")
    SQL>Cheers,
    Edited by: Avinash Tripathi on Nov 24, 2009 11:17 AM

  • How can I use a mySQL database schema with numeric auto increment primary key instead of GUID?

    Hello!
    I'm using the TestStand "MySQL Insert (NI)" database schema with GUID as primary key. So everything works fine.
    But I prever using numeric values as primary key, because the database is in conjunction with another database which uses numeric values as primary key.
    Is this possible?
    Has anyone an idea how I can modify the "Generic Recordset (NI)" for use with MySQL?
    Thanks!
    Configuration:
    Microsoft Windows XP
    TestStand 3.1
    MySQL 4.1.12a
    MySQL ODBC 3.51 Driver
    Brosig

    Adam -
    The TestStand Database Logging feature does not allow you to run a separate SQL command after executing the command for a statement(table), so I do not think that you can use an auto incrementing column for the tables. There is just no way to get it back in a generic way. One option that I tried is something similar to the Oracle schema where you call a store procedure to return a sequence ID for each record that you want to add.
    So you would have to create the following sequence table in MySQL:
    CREATE TABLE sequence (id INT NOT NULL);
    INSERT INTO sequence VALUES (0);
    Then create a stored procedure as shown below that will increment the sequence value and return it in a recordset:
    CREATE PROCEDURE `getseqid`()
    BEGIN
            UPDATE sequence SET id=LAST_INSERT_ID(id+1);
            SELECT LAST_INSERT_ID();
    END
    Then update the MySQL tables to use INT primary and foreign key values, so the TestStand MySQL SQL file to create all tables would have text like this:
    CREATE TABLE UUT_RESULT
     ID    INT  PRIMARY KEY,
    ~
    CREATE TABLE STEP_RESULT
     ID    INT  PRIMARY KEY,
     UUT_RESULT   INT  NOT NULL,
    ~
    Then update the schema primary and foreign key columns in the TestStand Database Options dialog box to be INT to match the table. For the primary key columns, you will have to set the Primary Key Type to "Get Value from Recordset" and set the Primary Key Command Text to "call getseqid()". This will call the stored procedure to determine the next value to use as the ID value.
    Hope this helps...
    Scott Richardson
    National Instruments

  • Can we have more than one primary key constraint to a Oracle Table?

    Hi,
    Can we have more than one primary keys to a single table in oracle? ( Not the composite key)
    Please somebody answer..
    Regards,
    Alaka

    811935 wrote:
    Can we have more than one primary keys to a single table in oracle? ( Not the composite key)
    In principle a table can have multiple keys if you need them. It is a very strong convention that just one of those keys is designated to be "primary" but that's just a convention and it doesn't stop you implementing other keys as well.
    Oracle provides two uniqueness constraints for creating keys: the PRIMARY KEY constraint and the UNIQUE constraint. The PRIMARY KEY constraint can only be used once per table whereas the UNIQUE constraint can be used multiple times. Other than that the PRIMARY KEY and UNIQUE constraints serve the same function (always assuming the column(s) they are applied to are NOT NULL).

Maybe you are looking for

  • Safari cookies options no longer exist in preferences

    Since updating to Safari 5.1 I cannot access certain websites, receiving message "cookies disabled".  Went to Safari > Preferences> Security, to find there are not any cookie options available.

  • Invoice Verification Tolerance

    Hi We have setup tolerance Key DW and message M8-088 'GR quantity delivered is ZERO' for POs with GR based IV ticked.. The system issues error even for those POs where GR based IV is not ticked. Any advise on how to configure system to allow Invoice

  • Sending Error mail for Interface level Failure

    Dear SDN,         I have a requirement where i cannot use alerts or ccms. My scenario is to devlop a monitoring solution where if any messages fails due to whatever reason i need to send 2 emails to the sapxi admin and to the business informing the e

  • Paste in front or similar

    Hi, all; Sometimes when I copy and paste an object in Captivate, it has the exact position as the original.  Other times, it is offset by a few pixels down and to the right.  I'd like to be able to control this, rather than having it be random--usual

  • Reader (X) and 3D PDFs

    The company I work for recently switched over to using PDFs for a 2D drawing achiving format. With that said, we are considering also storing a 3D PDF with the CAD data to send to customers as well. We use Reader 9.4.1 for viewing and Pro/E Wildfire