On Fri, Jun 2, 2017 at 2:20 PM, Andrew Sullivan <a...@crankycanuck.ca> wrote:

> (Offlist: phone)
>
> It's saying the table isn't there.  Is it?  Is it maybe spelled
> "EMPLOYEES" (all caps) instead?  You need double quotes if so.
>
> A
>
> --
> Andrew Sullivan
> Please excuse my clumbsy thums.
>
> On Jun 2, 2017, at 04:16, PAWAN SHARMA <er.pawanshr0...@gmail.com> wrote:
>
> Hi All,
>
> I am migrating Oracle database into PostgreSQL using Ora2PG tool.
>
> So, I am facing one issue with trigger after generating script output of
> Oracle database.
>
> *Oracle : *
>
> CREATE OR REPLACE TRIGGER UPDATE_JOB_HISTORY
>     AFTER UPDATE OF JOB_ID, DEPARTMENT_ID ON EMPLOYEES
>     FOR EACH ROW
> BEGIN
>   add_job_history(:old.employee_id, :old.hire_date, sysdate,
>                   :old.job_id, :old.department_id);
> END;
> /
>
> *The script generated by Ora2PG tool.*
>
> DROP TRIGGER IF EXISTS update_job_history ON employees CASCADE;
> CREATE OR REPLACE FUNCTION trigger_fct_update_job_history() RETURNS
> trigger AS $BODY$
> BEGIN
>   add_job_history(OLD.employee_id, OLD.hire_date, LOCALTIMESTAMP,
>                   OLD.job_id, OLD.department_id);
> RETURN NEW;
> END
> $BODY$
>  LANGUAGE 'plpgsql';
>
> CREATE TRIGGER update_job_history
> AFTER UPDATE ON employees FOR EACH ROW
> EXECUTE PROCEDURE trigger_fct_update_job_history();
>
>
> when I try to run the above-generated script it will show below error.
>
> ERROR:  syntax error at or near "add_job_history"
> LINE 4:   add_job_history(OLD.employee_id, OLD.hire_date, LOCALTIMES...
>           ^
> NOTICE:  relation "employees" does not exist, skipping
>
>
>
> Please Suggest or help to resolve it.
>
> -Pawan
>
>
>
>
>
> Hi Andrew,

employees table is exited.

*Oracle Database*

CREATE TABLE EMPLOYEES
    (
     EMPLOYEE_ID NUMBER (6)  NOT NULL ,
     FIRST_NAME VARCHAR2 (20 BYTE) ,
     LAST_NAME VARCHAR2 (25 BYTE)  NOT NULL ,
     EMAIL VARCHAR2 (25 BYTE)  NOT NULL ,
     PHONE_NUMBER VARCHAR2 (20 BYTE) ,
     HIRE_DATE DATE  NOT NULL ,
     JOB_ID VARCHAR2 (10 BYTE)  NOT NULL ,
     SALARY NUMBER (8,2) ,
     COMMISSION_PCT NUMBER (2,2) ,
     MANAGER_ID NUMBER (6) ,
     DEPARTMENT_ID NUMBER (4)
    ) LOGGING
;

The script generated by the tool.

CREATE TABLE employees (
employee_id integer NOT NULL,
first_name varchar(20),
last_name varchar(25) NOT NULL,
email varchar(25) NOT NULL,
phone_number varchar(20),
hire_date timestamp NOT NULL,
job_id varchar(10) NOT NULL,
salary decimal(8,2),
commission_pct decimal(2,2),
manager_id integer,
department_id smallint
) ;

Reply via email to