POSTGRESQL,FROM子查询必须有别名

4
CREATE OR REPLACE FUNCTION sp_insert_nike_mapping_code ( shopId bigint ) RETURNS VOID AS $body$
BEGIN

    insert into temp_t_so_sales_order_push(so_code,seq)
   SELECT so_code,nextval('s_t_so_sales_order_push_code') from (
   SELECT so_code from t_so_sales_order_push where sync_status = 0 group by so_code
   );

   update t_so_sales_order_push pu
   set code = (
       SELECT temp.seq from temp_t_so_sales_order_push temp
       where temp.so_code = pu.so_code and pu.shop_id = shopId and pu.sync_status = 0
   )
   where exists(
          SELECT 1 from temp_t_so_sales_order_push temp
          where temp.so_code = pu.so_code and pu.shop_id = shopId and pu.sync_status = 0
   );
END
$body$
LANGUAGE PLPGSQL
SECURITY DEFINER
;

当我执行上述代码时,出现了语法错误:FROM子查询必须有别名。 [Err] ERROR: FROM子查询必须有别名 LINE 5:...ELECT so_code,nextval('s_t_so_sales_order_push_code') from ( ^ HINT:例如,FROM(SELECT ...)[AS] foo。 有人能帮我吗?

在插入语句中,你漏掉了分号前面的别名;请写上任何有效的名称,比如valid_name; - Fahad Anjum
1个回答

4
insert into temp_t_so_sales_order_push(so_code,seq)
   SELECT t.so_code,nextval('s_t_so_sales_order_push_code') from (
   SELECT so_code from t_so_sales_order_push where sync_status = 0 group by so_code
   ) as t;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接