我正在尝试使用存储过程中查询的输出合并表。这可能吗?如果是,怎么做?这是我的示例:
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