Greenplum 데이터베이스 (PostgreSQL 포크)는 아래의 DO 문을 실행하려고 할 때마다 오류가 발생합니다. 특히 ERROR : "DO"또는 그 근처에서 구문 오류가 발생했습니다. 왜 이런거야? PostgreSQL 8.2.15를 기반으로 Greenplum (버전?)을 실행하고 있습니다.Greenplum에서 DO가있는 익명 코드 블록을 실행할 수 없습니다.
DO LANGUAGE plpgsql $$
BEGIN
IF (SELECT COUNT(*) FROM test) > 1 THEN
CREATE TABLE test2 AS SELECT * FROM test
END IF;
END;
$$;
기능으로 실행하면 잘 작동합니다.
CREATE OR REPLACE FUNCTION test_maker()
RETURNS void AS
$_$
BEGIN
IF (SELECT COUNT(*) FROM test) > 1 THEN
CREATE TABLE test2 AS SELECT * FROM test;
END IF;
END $_$ LANGUAGE plpgsql;
SELECT test_maker();
익명 코드 블록은 [V9.0] (HT에 첫 출연 조인 (다시, 다시 일시적으로해야하는 경우 변경할 수 있습니다) tp : //www.postgresql.org/docs/current/static/release-9-0.html#AEN124353). –