加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

PostgreSQL触发器错误:控制在没有RETURN的情况下到达触发器过程

发布时间:2020-12-13 18:07:51 所属栏目:百科 来源:网络整理
导读:我试图在 Postgresql 9.5中像这样在我的表的列上创建一个触发器: CREATE OR REPLACE FUNCTION app.combo_min_stock() RETURNS TRIGGER AS$combo_sync$DECLARE combo_product_ids INTEGER[] := array(SELECT combo_product_map.combo_productid FROM app.com
我试图在 Postgresql 9.5中像这样在我的表的列上创建一个触发器:
CREATE OR REPLACE FUNCTION app.combo_min_stock()
  RETURNS TRIGGER AS
$combo_sync$

DECLARE combo_product_ids INTEGER[] := array(SELECT combo_product_map.combo_productid FROM app.combo_product_map WHERE combo_product_map.productid=NEW.productid);
DECLARE comboid INTEGER;

BEGIN

  -- UPDATE MINIMUM STOCK FOR COMBO SKUS --

   FOREACH comboid IN ARRAY combo_product_ids
   LOOP

      UPDATE app.inventory SET
        good_stock = combo_data.min_good_stock,bad_stock = combo_data.min_bad_stock,to_be_updated = true
      FROM
        (SELECT
          product.productid,MIN(inventory.good_stock) as min_good_stock,MIN(inventory.bad_stock) as min_bad_stock
        FROM
          app.product,app.inventory,app.combo_product_map
        WHERE
          product.is_combo=true AND
          product.productid=comboid AND
          product.productid=combo_product_map.combo_productid AND
          combo_product_map.productid=inventory.productid
        GROUP BY
          product.productid) AS combo_data
      WHERE
        combo_data.productid=inventory.productid;


   END LOOP;

END; 
$combo_sync$
  LANGUAGE plpgsql;
ALTER FUNCTION app.combo_min_stock()
  OWNER TO postgres;



CREATE TRIGGER combo_sync
  AFTER UPDATE OF good_stock
  ON app.inventory
  FOR EACH ROW
  EXECUTE PROCEDURE app.combo_min_stock();

当我尝试在库存表中编辑good_stock列的值时,它会抛出这个错误:

An error has occurred:
ERROR: control reached end of trigger procedure without RETURN
CONTEXT: PL/pgSQL function app.combo_min_stock()

这个查询有什么问题?

试试这个:
END LOOP;
   RETURN NULL;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读