Hi,
I have almost 1300 files from Oracle (no access to oracle server). I
have to create the tables and data as follows.
-- start script
-- file name: aa_asset_type.sql
CREATE TABLE AS_ASSET_TYPE
(
MAIN_TYPE CHAR(3) NOT NULL,
SUB_TYPE NUMBER(3) NOT NULL,
DESCRIPTION VARCHAR2(25) DEFAULT ' '
NOT NULL,
SERVICE_SCHEDULE VARCHAR2(8) DEFAULT ' '
NOT NULL,
PRODUCT_CODE CHAR(4) DEFAULT ' '
NOT NULL
);
GRANT ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE ON
GENADMIN.AS_ASSET_TYPE TO PUBLIC;
INSERT INTO AS_ASSET_TYPE ( MAIN_TYPE, SUB_TYPE, DESCRIPTION, SERVICE_SCHEDULE,
PRODUCT_CODE ) VALUES (
'000', 0, ' ', ' ', ' ');
INSERT INTO AS_ASSET_TYPE ( MAIN_TYPE, SUB_TYPE, DESCRIPTION, SERVICE_SCHEDULE,
PRODUCT_CODE ) VALUES (
'001', 0, ' ', ' ', ' ');
INSERT INTO AS_ASSET_TYPE ( MAIN_TYPE, SUB_TYPE, DESCRIPTION, SERVICE_SCHEDULE,
PRODUCT_CODE ) VALUES (
'100', 0, 'BUILDINGS', ' ', ' ');
-- file name: as_master.sql
CREATE TABLE AS_MASTER
(
ASSET_NO VARCHAR2(16) DEFAULT ' '
NOT NULL,
FUND CHAR(1) NOT NULL,
FINAL_ACCOUNT_NO NUMBER(6) NOT NULL,
ITEM_NO NUMBER(6) NOT NULL,
SUB_NO NUMBER(6) NOT NULL,
TYPE NUMBER(6) DEFAULT 0
NOT NULL,
SUB_TYPE NUMBER(6) DEFAULT 0
NOT NULL,
LOCATION NUMBER(6) DEFAULT 0
NOT NULL,
SUB_LOCATION NUMBER(6) DEFAULT 0
NOT NULL,
LEVEL_A VARCHAR2(4) DEFAULT ' '
NOT NULL,
LEVEL_B VARCHAR2(4) DEFAULT ' '
NOT NULL,
LEVEL_C VARCHAR2(4) DEFAULT ' '
NOT NULL,
LEVEL_D VARCHAR2(4) DEFAULT ' '
NOT NULL,
LEVEL_E VARCHAR2(4) DEFAULT ' '
NOT NULL,
OPENING_ACQ_VALUE NUMBER(15,2) DEFAULT 0
NOT NULL,
OPENING_ACQ_QTY NUMBER(12) DEFAULT 0
NOT NULL,
WITHDRAWAL_VALUE NUMBER(15,2) DEFAULT 0
NOT NULL,
WITHDRAWAL_QTY NUMBER(12) DEFAULT 0
NOT NULL,
PROFIT_LOSS_VALUE NUMBER(15,2) DEFAULT 0
NOT NULL,
DEPREC_VALUE NUMBER(15,2) DEFAULT 0
NOT NULL,
PROFIT_LOSS_YTD NUMBER(15,2) DEFAULT 0
NOT NULL,
DEPREC_YTD NUMBER(15,2) DEFAULT 0
NOT NULL,
DEPREC_LAST_MONTH NUMBER(6) DEFAULT 0
NOT NULL,
DEPREC_LAST_YEAR NUMBER(6) DEFAULT 0
NOT NULL,
DEPREC_METHOD CHAR(1) DEFAULT ' '
NOT NULL,
DEPREC_RATE_2 NUMBER(15,6) DEFAULT 0
NOT NULL,
DEPREC_ROUND_FACTOR NUMBER(6) DEFAULT 0
NOT NULL,
DEPREC_FREQUENCY CHAR(1) DEFAULT ' '
NOT NULL,
DEPREC_MINIMUM_VAL NUMBER(12) DEFAULT 0
NOT NULL,
DEPREC_TYPE NUMBER(6) DEFAULT 0
NOT NULL,
DEPREC_FOLIO_DR VARCHAR2(8) DEFAULT ' '
NOT NULL,
DEPREC_FOLIO_CR VARCHAR2(8) DEFAULT ' '
NOT NULL,
INSURANCE_VALUE NUMBER(12) DEFAULT 0
NOT NULL,
INSURANCE_CATEGORY VARCHAR2(2) DEFAULT ' '
NOT NULL,
INSURANCE_POLICY VARCHAR2(10) DEFAULT ' '
NOT NULL,
INSURANCE_CODE CHAR(1) DEFAULT ' '
NOT NULL,
ASSET_FILE_NO VARCHAR2(10) DEFAULT ' '
NOT NULL,
PROPERTY_REF VARCHAR2(20) DEFAULT ' '
NOT NULL,
LAST_AUDIT_DATE DATE NULL,
LAST_AUDIT_PAGE NUMBER(6) DEFAULT 0
NOT NULL,
DESCRIPTION_1 VARCHAR2(40) DEFAULT ' '
NOT NULL,
DESCRIPTION_2 VARCHAR2(40) DEFAULT ' '
NOT NULL
);
GRANT ALTER, DELETE, INDEX, INSERT, REFERENCES, SELECT, UPDATE ON
GENADMIN.AS_MASTER TO PUBLIC;
ALTER TABLE GENADMIN.AS_MASTER ADD (
PRIMARY KEY
(ASSET_NO));
INSERT INTO AS_MASTER ( ASSET_NO, FUND, FINAL_ACCOUNT_NO, ITEM_NO,
SUB_NO, TYPE, SUB_TYPE,
LOCATION, SUB_LOCATION, LEVEL_A, LEVEL_B, LEVEL_C, LEVEL_D, LEVEL_E,
OPENING_ACQ_VALUE,
OPENING_ACQ_QTY, WITHDRAWAL_VALUE, WITHDRAWAL_QTY, PROFIT_LOSS_VALUE,
DEPREC_VALUE, PROFIT_LOSS_YTD,
DEPREC_YTD, DEPREC_LAST_MONTH, DEPREC_LAST_YEAR, DEPREC_METHOD,
DEPREC_RATE_2, DEPREC_ROUND_FACTOR,
DEPREC_FREQUENCY, DEPREC_MINIMUM_VAL, DEPREC_TYPE, DEPREC_FOLIO_DR,
DEPREC_FOLIO_CR,
INSURANCE_VALUE, INSURANCE_CATEGORY, INSURANCE_POLICY, INSURANCE_CODE,
ASSET_FILE_NO, PROPERTY_REF,
LAST_AUDIT_DATE, LAST_AUDIT_PAGE, DESCRIPTION_1, DESCRIPTION_2 ) VALUES (
'1.001.0001.001', '1', 1, 1, 1, 0, 0, 0, 0, ' ', ' ', ' ', ' ', ' ',
2, 1, 2, 1, 0
, 0, 0, 0, 6, 2000, 'S', 0, 0, ' ', 0, 2, ' ', ' ', 0, ' ', ' ', ' ',
' ', ' ', TO_Date( '11/05/1997 12:00:00 AM', 'MM/DD/YYYY HH:MI:SS
AM')
, 6896, 'DUMMY ASSET', ' ');
-- end script
Unfortunately When I execute the above files using \i I am getting errors like
ERROR: syntax error at or near "("
LINE 4: SUB_TYPE NUMBER(3) NOT NULL,
Obviously 'number' is not PostgreSQL data type so is 'varchar2'. What
is your suggestion to create these tables in PostgreSQL? Should I
pre-process using Sed/Awk to find/replace the field type first? Any
recommendation is greatly appreciated :)
Thanks.