PostgreSQL 9.3:IF NOT NOT EXISTS

MAK*_*MAK 5 postgresql postgresql-9.3

我想检查数据库中是否存在该表.

IF NOT EXISTS (SELECT * from INFORMATION_SCHEMA.Tables WHERE Table_name = 'test') THEN

    RAISE INFO 'Not exists';

else

    RAISE INFO 'Exists';

end if;
Run Code Online (Sandbox Code Playgroud)

得到错误:

ERROR:  syntax error at or near "IF"
Run Code Online (Sandbox Code Playgroud)

小智 7

DO
$do$
BEGIN
IF NOT EXISTS (SELECT * from INFORMATION_SCHEMA.Tables WHERE Table_name = 'test') THEN

    RAISE INFO 'Not exists';

else

    RAISE INFO 'Exists';

end if;
end;
$do$
Run Code Online (Sandbox Code Playgroud)

你应该用block包围你的postgresql语句