判断表是否存在方法1:
SELECT case WHEN a.cc =1 THEN 2 else 0 END FROM ( select count(*) as cc from pg_class where relname = 'wo' --wo is table name,pg_class是pg自带的关键字 ) as a
方法2:
用if判断,但有以下条件
The IF
statement is part of the default procedural language PL/pgSQL. You need to create a function or execute an ad-hoc statement with the DO
command.、
exist使用要求和if一样
1 2 3 4 5 6 7 8 9 10 11 |
DO
$ do $
BEGIN
IF (select count(*) cc from pg_class where relname = 'wo' ) = 0 --一定要加括号
THEN
INSERT INTO wo VALUES (2);
ELSE
INSERT INTO wo VALUES (1);
END IF;
END
$ do $
|
联合使用select 和insert的方法如下
create table language_ko(Key text,XML text); insert into Language_ko(key,xml) (select "Key " as key,'<'||"Key"||'>'||"Korean"||'</'||"Key"||'>' as xml from "centralClient1")