CREATE OR REPLACE FUNCTION tr_tetel_vonalkod_frissitese()
  RETURNS trigger AS
$BODY$

declare
  m_vonalkod tetel_vonalkod.vonalkod%type;
  
begin
   IF not((new.vonalkod is null) or (new.vonalkod = '')) THEN
      SELECT vonalkod INTO m_vonalkod FROM tetel_vonalkod WHERE tetel_kod = new.kod AND alapertelmezett = 1;
      
	  IF (m_vonalkod is null) THEN
	      INSERT INTO tetel_vonalkod (tetel_kod,vonalkod,alapertelmezett,egyseg_szorzo) VALUES (new.kod,new.vonalkod,1,1);
	  ELSE
	      IF (not(m_vonalkod = new.vonalkod)) THEN
		     UPDATE tetel_vonalkod 
                SET vonalkod = new.vonalkod 
              WHERE tetel_kod = new.kod 
                AND alapertelmezett = 1;
		  END IF;
	  END IF;
   ELSE
      DELETE FROM tetel_vonalkod WHERE tetel_kod = new.kod AND alapertelmezett = 1;
   END IF;
   
   return new;
end;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100;