[Amazon](500310)无效的操作:“ $$或附近的以美元结尾的字符串终止了

时间:2019-06-03 19:31:36

标签: stored-procedures amazon-redshift

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中成功创建存储过程?

1 个答案:

答案 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;