【问题标题】:[Amazon](500310) Invalid operation: unterminated dollar-quoted string at or near "$$[Amazon](500310) 无效操作:"$$" 处或附近未终止的美元引号字符串
【发布时间】:2019-06-03 19:31:36
【问题描述】:

按照AWS documentation 通过 Redshift 查询编辑器或 SQL Workbench/J 创建存储过程会出现此错误:Amazon Invalid operation: unterminated dollar-quoted string at or near "$$。这是一个通用代码示例我正在尝试:

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

【问题讨论】:

    标签: stored-procedures amazon-redshift


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 2015-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-06-14
      • 1970-01-01
      • 2013-09-26
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      相关资源
      最近更新 更多