Heim  >  Artikel  >  Datenbank  >  postgresql创建function使两个表互动

postgresql创建function使两个表互动

WBOY
WBOYOriginal
2016-06-07 14:59:011097Durchsuche

postgresql创建function使两个表互动 create function f_m_stockcurrent_post(character varying(32)) RETURNS integer as $$ declare rec record; begin update stockcurrent set units=units+(select handqty from shipmentinline sp inner join stockcurr

postgresql创建function使两个表互动

 

create function f_m_stockcurrent_post(character varying(32))

RETURNS integer 

as

$$

declare

rec record;

begin

update stockcurrent set units=units+(select handqty from shipmentinline sp inner join stockcurrent st on st.product=sp.product where sp.documentno=$1);

for rec in (select sp.location,sp.handqty,sp.product from shipmentinline sp where sp.documentno=sp_documentno and not exists(select handqty from   shipmentinline sp inner join stockcurrent st on st.product=sp.product where sp.documentno=$1)) loop

  insert into stockcurrent(location,product,attributesetinstance_id,units)values(rec.location,rec.product,null,rec.handqty);

  end loop;

end;

$$

language 'plpgsql' VOLATILE;

 

数据库中检验函数是否生效

 

select  f_m_stockcurrent_post('123');
 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:redis监控状态connect命令Nächster Artikel:mongodb入门-9查询4