Some one plz help me (MAHENDRA D RATHOD) - Mailing list pgsql-admin

From Ramesh PAtel
Subject Some one plz help me (MAHENDRA D RATHOD)
Date
Msg-id 3EBFCA5E.28219.12E5A36@localhost
Whole thread Raw
Responses Re: Some one plz help me (MAHENDRA D RATHOD)  (Oliver Elphick <olly@lfix.co.uk>)
List pgsql-admin
<div align="left"><font face="Arial"><span style="font-size:10pt">My self is Mahendra D Rathod.</span></font></div><div
align="left"><br/></div><div align="left"><font face="Arial"><span style="font-size:10pt">I have some problem in
executingtrigger at backend side</span></font></div><div align="left"><br /></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">One trigger is fired AFTER INSERT OR UPDATE ON
 mtrl_issue_detail</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt">Sowhen any row of "mtrl_issue_detail" is inserted or updated this trigger is fired on one
function.</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt">Thisfunction updates the same row that has just been inserted or
updated.</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt">Nowwhen this process happens the database gets HANGED. and i have to restart the database on
server.</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt">Isthere any solution to do this process without affecting my server.</span></font></div><div
align="left"><fontface="Arial"><span
style="font-size:10pt">********************************************************************************</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">FUNCTION: taxcal_fun()</span></font></div><div
align="left"><br/></div><div align="left"><font face="Arial"><span
style="font-size:10pt">********************************************************************************</span></font></div><div
align="left"><br/></div><div align="left"><font face="Arial"><span style="font-size:10pt">CREATE FUNCTION taxcal_fun()
returnsopaque as'</span></font></div><div align="left"><font face="Arial"><span
style="font-size:10pt">DECLARE</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">
 recRECORD;</span></font></div><div align="left"><font face="Arial"><span style="font-size:10pt">  tmp_rate
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  bl_amt
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  ex_amt
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  ad_amt
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  les_amt
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  t_amt
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  rel_per
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  rel_frac
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  tx_amt
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  ad_tax
REAL;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  gr_amt
REAL;</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt">BEGIN</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt"> SELECT INTO rec * FROM rate_mst r, mtrl_issue_mst m </span></font></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">      WHERE r.m_code = NEW.mtrl_code</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">      AND m.issue_no = NEW.issue_no</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">      AND r.effective_dt = (SELECT MAX(effective_dt) FROM
rate_mst</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">
                             WHERErate_mst.m_code=NEW.mtrl_code </span></font></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">                              AND rate_mst.effective_dt <=
m.issue_dt);</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span
style="font-size:10pt"> IF rec.issue_type = ''stk_trf_sale'' THEN</span></font></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">     tmp_rate := rec.trf_rate;</span></font></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">  ELSIF rec.issue_type = ''con_sale'' THEN</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">        tmp_rate := rec.con_rate;</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">  ELSIF rec.issue_type = ''gen_sale''
THEN</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">             tmp_rate :=
rec.gen_rate_cs;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  ELSIF
rec.issue_type= ''agent_sale'' THEN</span></font></div><div align="left"><font face="Arial"><span
style="font-size:10pt">        tmp_rate := rec.soc_rate_cs;</span></font></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">  ELSE rec.issue_type = ''mrp_sale'' THEN</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">         tmp_rate :=
rec.mrp_rate_cs;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  END
IF;</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span style="font-size:10pt">
 IFrec.tax_code = ''c'' OR rec.tax_code = ''C'' THEN</span></font></div><div align="left"><font face="Arial"><span
style="font-size:10pt">            tmp_rate:= tmp_rate + CAST(round(tmp_rate * rec.cst_per / 100,2) AS
REAL);</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            rel_per  :=
rec.cst_per;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            rel_frac
:=rec.cst_frac;</span></font></div><div align="left"><font face="Arial"><span style="font-size:10pt">  ELSIF
rec.tax_code= ''g'' or rec.tax_code = ''G'' THEN</span></font></div><div align="left"><font face="Arial"><span
style="font-size:10pt">            tmp_rate:= tmp_rate + CAST(round(tmp_rate * rec.gst_per / 100,2) AS
REAL);</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            rel_per  :=
rec.gst_per;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            rel_frac
:=rec.gst_frac;</span></font></div><div align="left"><font face="Arial"><span style="font-size:10pt">  ELSE
</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            tmp_rate :=
tmp_rate;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            rel_per  :=
0;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">            rel_frac :=
0;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  END
IF;</span></font></div><divalign="left"><br /></div><div align="left"><font face="Arial"><span style="font-size:10pt">
 bl_amt:= CAST((NEW.issueqty_cs * tmp_rate) AS REAL);</span></font></div><div align="left"><font face="Arial"><span
style="font-size:10pt"> ex_amt:= bl_amt*(rec.exise_per/100)*(rec.exise_frac/100);</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">  ad_amt  := NEW.issueqty_cs *
rec.add_other_cs;</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  les_amt :=
cast((NEW.issueqty_mt* 1000 * rec.less_other_kg) AS REAL);</span></font></div><div align="left"><font
face="Arial"><spanstyle="font-size:10pt">  t_amt  := CAST((bl_amt + ex_amt + ad_amt - les_amt) AS
REAL);</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  </span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">  tx_amt := t_amt * (rel_per/100) *
(rel_frac/100);</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">  ad_tax := tx_amt
*(rec.additional_tax/100) * (rec.additional_frac/100); </span></font></div><div align="left"><font face="Arial"><span
style="font-size:10pt"> gr_amt := t_amt + tx_amt + ad_tax;</span></font></div><div align="left"><br /></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">   </span></font><font color="#0000ff" face="Arial"><span
style="font-size:10pt">UPDATEmtrl_issue_detail </span></font></div><div align="left"><font color="#0000ff"
face="Arial"><spanstyle="font-size:10pt">      SET rate_per_cs=tmp_rate,</span></font></div><div align="left"><font
color="#0000ff"face="Arial"><span style="font-size:10pt">          bill_amt=bl_amt,</span></font></div><div
align="left"><fontcolor="#0000ff" face="Arial"><span style="font-size:10pt">
         exise_amt=ex_amt,</span></font></div><divalign="left"><font color="#0000ff" face="Arial"><span
style="font-size:10pt">         add_amt=ad_amt,</span></font></div><div align="left"><font color="#0000ff"
face="Arial"><spanstyle="font-size:10pt">          less_amt=les_amt,</span></font></div><div align="left"><font
color="#0000ff"face="Arial"><span style="font-size:10pt">          tot_amt=t_amt,</span></font></div><div
align="left"><fontcolor="#0000ff" face="Arial"><span style="font-size:10pt">
         tax_amt=tx_amt,</span></font></div><divalign="left"><font color="#0000ff" face="Arial"><span
style="font-size:10pt">         add_tax=ad_tax,</span></font></div><div align="left"><font color="#0000ff"
face="Arial"><spanstyle="font-size:10pt">          gross_amt=gr_amt</span></font></div><div align="left"><font
color="#0000ff"face="Arial"><span style="font-size:10pt">    WHERE issue_no=NEW.issue_no</span></font></div><div
align="left"><fontcolor="#0000ff" face="Arial"><span style="font-size:10pt">      AND
mtrl_code=NEW.mtrl_code</span></font></div><divalign="left"><font color="#0000ff" face="Arial"><span
style="font-size:10pt">     AND batch_code=NEW.batch_code;</span></font></div><div align="left"><br /></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">RETURN NULL;</span></font></div><div align="left"><br
/></div><divalign="left"><font face="Arial"><span style="font-size:10pt">END;'</span></font></div><div align="left"><br
/></div><divalign="left"><font face="Arial"><span style="font-size:10pt">LANGUAGE 'plpgsql';</span></font></div><div
align="left"><br/></div><div align="left"><font face="Arial"><span
style="font-size:10pt">********************************************************************************</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">TRIGGER : taxcal_trg</span></font></div><div
align="left"><fontface="Arial"><span
style="font-size:10pt">********************************************************************************</span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">CREATE TRIGGER taxcal_trg </span></font></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">   AFTER INSERT OR UPDATE ON
mtrl_issue_detail</span></font></div><divalign="left"><font face="Arial"><span style="font-size:10pt">      FOR EACH
ROWEXECUTE PROCEDURE taxcal_fun();</span></font></div><div align="left"><br /></div><div align="left"><br /></div><div
align="left"><fontface="Arial"><span style="font-size:10pt">Whe the </span></font><font color="#0000ff"
face="Arial"><spanstyle="font-size:10pt">BLUE </span></font><font color="#000000" face="Arial"><span
style="font-size:10pt">partis executed the problem arises</span></font></div><div align="left"><font color="#000000"
face="Arial"><spanstyle="font-size:10pt">and without this part is runs smoothly.</span></font></div><div
align="left"><br/></div><div align="left"><font color="#000000" face="Arial"><span style="font-size:10pt">Is there any
solutionupdate this </span></font><font color="#0000ff" face="Arial"><span
style="font-size:10pt">query</span></font><fontcolor="#000000" face="Arial"><span
style="font-size:10pt">.</span></font></div><divalign="left"></div> 

pgsql-admin by date:

Previous
From: timeless postgres
Date:
Subject: No flamefest please, MySQL vs. PostgreSQL AGAIN
Next
From: Oliver Elphick
Date:
Subject: Re: Some one plz help me (MAHENDRA D RATHOD)