Redshift中用于将数据加载到表中的存储过程



我有一个sql查询,它从4个表中获取数据,我想使用这个脚本将数据加载到Redshift中的另一个表中,我正在尝试创建一个存储过程,但我一直遇到错误。下面是我的剧本。

CREATE or replace PROCEDURE ABC1 (SOURCE_SYS CHAR(3), FILE_NBR BIGINT)
AS
BEGIN
INSERT INTO SP1 (SOURCE_SYS,FILE_NBR)
VALUES(
SELECT 'WT', PK_ORDERNO
FROM table_1
JOIN table_2 ON table_1.file_nbr = table_2.file_nbr
LEFT OUTER JOIN table_3 ON table_2.file_nbr = table_3.file_nbr
)
END;

您应该这样做:

CREATE OR REPLACE PROCEDURE ABC1 (SOURCE_SYS CHAR(3),FILE_NBR BIGINT)
AS $$
BEGIN

INSERT INTO SP1 (SOURCE_SYS,FILE_NBR)
SELECT 'WT',PK_ORDERNO FROM 
table_1 join table_2 on table_1.file_nbr=table_2.file_nbr
left outer join
table_3 on table_2.file_nbr = table_3.file_nbr ;
END;
$$ LANGUAGE plpgsql;

最新更新