I have listed functions, triggers , tables and view for your reference.
Thanks for helping me out

Regards

CREATE OR REPLACE FUNCTION fnc_loadDenormdata()
  RETURNS trigger AS
$BODY$
DECLARE
  v_transactionid numeric;
  v_startdate text;
  v_enddate text;
  v_statuscode character varying(10);
  v_enddate_ts timestamp without time zone;
  v_canceldate_ts timestamp without time zone;
  v_firstname character varying(100);
  v_lastname character varying(100);
  v_phone character varying(20);
  v_fax character varying(20);
  v_usercomments character varying;
BEGIN
  if(TG_OP='INSERT') THEN

v_transactionid=NEW.transactionid;
select transactionid,
startdate,enddate,statuscode,enddate_ts,canceldate_ts,firstname,lastname,phone,fax
into
v_transactionid,v_startdate,v_enddate,v_statuscode,v_enddate_ts,v_canceldate_ts,v_firstname,v_lastname,v_phone,v_fax,v_usercomments
from v_search where transactionid=v_transactionid ;
insert into t_search values(
v_transactionid,v_startdate,v_enddate,v_statuscode,v_enddate_ts,v_canceldate_ts,v_firstname,v_lastname,v_phone,v_fax);
 return NEW;
elsif(TG_OP='UPDATE') then
v_transactionid=OLD.transactionid;
select transactionid,
startdate,enddate,statuscode,enddate_ts,canceldate_ts,firstname,lastname,phone,fax
into
v_transactionid,v_startdate,v_enddate,v_statuscode,v_enddate_ts,v_canceldate_ts,v_firstname,v_lastname,v_phone,v_fax,v_usercomments
from v_search where transactionid=v_transactionid ;
update t_search set
issuedate=v_issuedate,startdate=v_startdate,enddate=v_enddate,statuscode=v_statuscode,enddate_ts=v_enddate_ts,canceldate_ts=v_canceldate_ts,
firstname=v_firstname,lastname=v_lastname,phone=v_phone,fax=v_fax,comments=v_usercomments
where transactionid=v_transactionid  ;
return OLD;
END IF;
EXCEPTION
when others then
insert into tb_DEBUG
values
(nextval('seq_errorid'),current_timestamp,'fnc_fnc_loadDenormdata',SQLSTATE||':
 '||SQLERRM);
raise exception 'fnc_loadDenormdata Failed: %-%', SQLSTATE, SQLERRM;

END;$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 1;

-----------  these are triggers

CREATE TRIGGER trig_loadDenormdata
  AFTER INSERT OR UPDATE
  ON t_items
  FOR EACH ROW
  EXECUTE PROCEDURE fnc_loadDenormdata();

  CREATE TRIGGER trig_loadDenormdata
  AFTER INSERT OR UPDATE
  ON t_comments
  FOR EACH ROW
  EXECUTE PROCEDURE fnc_loadDenormdata();

-------------------------



CREATE TABLE t_comments
(
  transactionid numeric(9),
  usercomments character varying,
  publiccomments character varying,

)
WITH (
  OIDS=FALSE
)



CREATE TABLE t_items
(
  transactionid numeric,
  startdate timestamp without time zone,
  statuscode character varying,
  enddate timestamp without time zone,
  canceldate timestamp without time zone,
  fax character varying(20),
  phone character varying(20),
  userid numeric,
 )
WITH (
  OIDS=FALSE
)

create view v_search as
SELECT itm.transactionid, to_char(itm.issuedate::timestamp with time zone,
'MM/DD/YYYY HH24MI'::text) AS issuedate,
to_char(itm.startdate::timestamp with time zone, 'MM/DD/YYYY HH24MI'::text)
AS startdate,
to_char(itm.enddate::timestamp with time zone, 'MM/DD/YYYY HH24MI'::text) AS
enddate, itm.statuscode, itm.enddate AS enddate_ts, itm.canceldate AS
canceldate_ts, usr.firstname, usr.lastname, itm.phone, itm.fax,
com.usercomments,
       itm.lastupdatedate AS last_update_timestamp, btrim(
FROM t_items itm, t_comments com, t_user usr
  WHERE  itm.transactionid = com.transactionid AND itm.userid = usr.userid ;

------------------------------


On Mon, Nov 8, 2010 at 1:54 PM, hubert depesz lubaczewski <dep...@depesz.com
> wrote:

> On Mon, Nov 08, 2010 at 01:45:49PM -0500, akp geek wrote:
> > Hi All -
> >
> >           Can you please share your thoughts and help me ?
> >
> >          1.  I have 4 ( T1, T2 , T3, T4 ) tables where I have the data
> from
> > a transactional system
> >
> >          2.  I have created one more table D1  to denormalize the data
> from
> > the 4 tables ( T1, T2 , T3, T4  )
> >
> >          3. I have created function that returns trigger (TGR_1) .
> >
> >          4. I have create one trigger ( TGR_1) after insert or update on
> T1
> > & T2.
> >
> >          5. Now when I insert data from the application, the save
> function
> > will write data to T1 & T2.
> >
> >          6. The problem is the table D1 gets 2 rows, One with correct
> data
> > and the other is Blank row.  I am not able to understand why I am getting
> a
> > blank row.
> >
> > Any thoughts on this? Appreciate your help
>
> well - without any kind of code to look at it's impossible to guess what
> might be wrong.
>
> please provide function source, so we can see if there is a problem.
>
> Best regards,
>
> depesz
>
> --
> Linkedin: http://www.linkedin.com/in/depesz  /  blog:
> http://www.depesz.com/
> jid/gtalk: dep...@depesz.com / aim:depeszhdl / skype:depesz_hdl /
> gg:6749007
>

Reply via email to