【发布时间】:2020-12-09 09:02:37
【问题描述】:
在 redshift 中创建存储过程时,如下所示:
CREATE OR REPLACE PROCEDURE sp_test()
AS '
BEGIN
TRUNCATE TABLE TABLE_1;
INSERT INTO TABLE_1
SELECT COL1, COL2
FROM TABLE_2
WHERE CONDITION='SAMPLE';
END;
'
LANGUAGE plpgsql;
这会产生错误syntax error near 'SAMPLE',因为single quotes is already used for stored procedure begin and end。另外,这里我们会not be able to replace single quotes in INSERT query to double,因为 redshift 会将其视为一列。
很少有其他帖子建议将$$ 用于存储过程,但是 sql 工作台不支持 $$。
任何解决此问题的方法。谢谢。
【问题讨论】:
标签: sql stored-procedures amazon-redshift