문제 설명
Amazon 잘못된 작업: "$$ 또는 그 근처에서 종료되지 않은 달러 인용 문자열 (Amazon Invalid operation: unterminated dollar‑quoted string at or near "$$)
AWS 설명서에 따라 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에서 저장 프로시저를 성공적으로 생성하려면 문을 어떻게 작성해야 합니까?
참조 솔루션
방법 1:
Using single‑quotes instead of a dollar‑quoted string solved the issue. Note that the string used within the SELECT statement has repeated single quotes.
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;
참조 문서
- Amazon Invalid operation: unterminated dollar‑quoted string at or near "$$ (CC BY‑SA 2.5/3.0/4.0)