带有查询的 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
我正在尝试使用存储过程中查询的输出来合并 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