• Lowell (11/21/2012)


    if you want to do it yourself, which is another big job let me tell you, this data type equivalents link can help:

    http://docs.oracle.com/cd/B19306_01/gateways.102/b14270/apa.htm

    I've done it the other direction: take a single table in SQL server for example, and generate the equivilent DDL command for Oracle, but that's based on personal assumptions and naming conventions for Sequences/triggers.

    here's one example of my procs results:

    CREATE TABLE [dbo].[TBCOUNTY] (

    [COUNTYTBLKEY] INT IDENTITY(1,1) NOT NULL,

    [INDEXTBLKEY] INT NOT NULL,

    [STATE] VARCHAR(2) NOT NULL,

    [DESCRIP] VARCHAR(30) NOT NULL,

    VARCHAR(3) NULL,

    [STATETBLKEY] INT NULL,

    [REGIONTBLKEY] INT NULL,

    [EDREGIONTBLKEY] INT NULL,

    [SPECDISTTBLKEY] INT NULL,

    CONSTRAINT [PK__TBCOUNTY__009508B4] PRIMARY KEY CLUSTERED (COUNTYTBLKEY),

    CONSTRAINT [FK__TBCOUNTY__INDEXT__68C86C1B] FOREIGN KEY (INDEXTBLKEY) REFERENCES GMINDEX(INDEXTBLKEY),

    CONSTRAINT [FK__TBCOUNTY__STATET__0A5513C6] FOREIGN KEY (STATETBLKEY) REFERENCES TBSTATE(STATETBLKEY),

    CONSTRAINT [FK__TBCOUNTY__REGION__3B6D4C6D] FOREIGN KEY (REGIONTBLKEY) REFERENCES TBREGION(REGIONTBLKEY),

    CONSTRAINT [FK__TBCOUNTY__EDREGI__3C6170A6] FOREIGN KEY (EDREGIONTBLKEY) REFERENCES TBEDREGION(EDREGIONTBLKEY),

    CONSTRAINT [FK_TBSPECDIST_SPECDISTTBLKEY] FOREIGN KEY (SPECDISTTBLKEY) REFERENCES TBSPECDIST(SPECDISTTBLKEY))

    --Oracle equivalent:

    CREATE TABLE CHANGE_ME.TBCOUNTY (

    COUNTYTBLKEY NUMBER(10) NOT NULL,

    INDEXTBLKEY NUMBER(10) NOT NULL,

    STATE VARCHAR2(2) NOT NULL,

    DESCRIP VARCHAR2(30) NOT NULL,

    CODE VARCHAR2(3) NULL,

    STATETBLKEY NUMBER(10) NULL,

    REGIONTBLKEY NUMBER(10) NULL,

    EDREGIONTBLKEY NUMBER(10) NULL,

    SPECDISTTBLKEY NUMBER(10) NULL,

    CONSTRAINT PK__TBCOUNTY__009508B4 PRIMARY KEY (COUNTYTBLKEY),

    CONSTRAINT FK__TBCOUNTY__INDEXT__68C86C1B FOREIGN KEY (INDEXTBLKEY) REFERENCES GMINDEX(INDEXTBLKEY),

    CONSTRAINT FK__TBCOUNTY__STATET__0A5513C6 FOREIGN KEY (STATETBLKEY) REFERENCES TBSTATE(STATETBLKEY),

    CONSTRAINT FK__TBCOUNTY__REGION__3B6D4C6D FOREIGN KEY (REGIONTBLKEY) REFERENCES TBREGION(REGIONTBLKEY),

    CONSTRAINT FK__TBCOUNTY__EDREGI__3C6170A6 FOREIGN KEY (EDREGIONTBLKEY) REFERENCES TBEDREGION(EDREGIONTBLKEY),

    CONSTRAINT FK_TBSPECDIST_SPECDISTTBLKEY FOREIGN KEY (SPECDISTTBLKEY) REFERENCES TBSPECDIST(SPECDISTTBLKEY));

    --CHANGE_ME.TBCOUNTY_SEQUENCE

    CREATE SEQUENCE CHANGE_ME.TBCOUNTY_SEQUENCE

    START WITH 1

    NOMAXVALUE

    MINVALUE 1

    NOCYCLE

    CACHE 20

    NOORDER;

    --CHANGE_ME.TBCOUNTY_IDENTITY

    --

    CREATE OR REPLACE TRIGGER CHANGE_ME.TBCOUNTY_IDENTITY BEFORE INSERT ON CHANGE_ME.TBCOUNTY FOR EACH ROW

    WHEN (

    NEW.COUNTYTBLKEY IS NULL

    )

    DECLARE DUMMY NUMBER;

    BEGIN

    SELECT TBCOUNTY_SEQUENCE.NEXTVAL INTO DUMMY FROM DUAL;

    :NEW.COUNTYTBLKEY:= DUMMY;

    END;

    /

    Thanks Lowell for your quick reply.

    SueTons.

    Regards,
    SQLisAwe5oMe.