我正在尝试运行此sql,如果不存在则创建一个新类型:
IF NOT EXISTS (SELECT 1 FROM pg_type WHERE typname = 'ai') CREATE TYPE ai AS (a text, i int);
我在“如果”或附近出现错误,我试图找出答案,但没有帮助。我也试过了,但是还是不行:
CASE (SELECT 1 FROM pg_type WHERE typname = 'ai') WHEN IS NULL THEN CREATE TYPE ai AS (a text, i int);
“案例”附近或附近的错误
答案 0 :(得分:1)
您的 <?php
$file1= file_get_contents('C:\wamp64\xyz.txt');
$file2= file_get_contents('C:\wamp64\abc.txt');
$file3= file_get_contents('C:\wamp64\pqr.txt');
echo $file1.$file2.$file3;
?>
语法错误,错过了IF
。根据上下文,即当您还不在PL / pgSQL块中(如函数等)时,还需要使用匿名END IF
块。并且也不要忘记检查架构,否则,如果该类型已经存在于另一个架构中,您可能会得到误报。
DO
(或者,如果您已经在PL / pgSQL块中,则仅在DO
$$
BEGIN
IF NOT EXISTS (SELECT *
FROM pg_type typ
INNER JOIN pg_namespace nsp
ON nsp.oid = typ.typnamespace
WHERE nsp.nspname = current_schema()
AND typ.typname = 'ai') THEN
CREATE TYPE ai
AS (a text,
i integer);
END IF;
END;
$$
LANGUAGE plpgsql;
和IF
之间的所有内容,包括END IF;
和IF
。)