在AWS documentation之后通过Redshift查询编辑器或SQL Workbench / J创建存储过程时,将出现以下错误:Amazon无效操作:在$$处或附近有无终止的美元引号的字符串。这是一个通用示例我尝试的代码:
CREATE OR REPLACE PROCEDURE
load_inventory () AS $$
BEGIN
INSERT INTO inventory(sku,qty,location)
SELECT sku, qty, 'location name' FROM location_inventory;
END;
$$
LANGUAGE plpgsql;
如何编写该语句以在Redshift中成功创建存储过程?
答案 0 :(得分:1)
使用单引号而不是使用美元引号的字符串解决了该问题。请注意,SELECT语句中使用的字符串具有重复的单引号。
CREATE OR REPLACE PROCEDURE
load_inventory () AS '
BEGIN
INSERT INTO inventory(sku,qty,location)
SELECT sku, qty, ''location name'' FROM location_inventory;
END;
'
LANGUAGE plpgsql;