带有查询的 GCP 存储过程

GCP stored procedure with a query

我正在尝试使用存储过程中查询的输出来合并 table。这可能吗?如果是,如何?这是我的示例尝试:

CREATE OR REPLACE PROCEDURE PROCEDURE_LOAD()

BEGIN
           
MERGE `T1` 
       USING 
  ############## START of QUERY ###########
SELECT FIELD1,FIELD2,FIELD3  
       FROM T2
       LEFT JOIN T2 ON T2._FIELD4= T1.FIELD1
 ############## END of QUERY ###########
    --return;
   
EXCEPTION
    WHEN error THEN SELECT @@error.message, @@error.statement_text;
END

无论是否在过程中,您都可以使用 MERGE 语句。

不太清楚你的查询意图是什么,我根据我的猜测提供了一个示例SQL。请查看文档以了解如何使用 MERGE.

MERGE T1
USING T2
ON T2._FIELD4= T1.FIELD1
WHEN NOT MATCHED THEN
  INSERT(<column_list_of_T1> )
  VALUES(FIELD1,FIELD2,FIELD3 )
CREATE OR REPLACE PROCEDURE TEST()

BEGIN

MERGE T2 AS t
USING (SELECT a,b,c FROM T1) as s

END