postgres if ,when及判断表是否存在的sql编写

判断表是否存在方法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")

 

posted @   大老虎打老虎  阅读(21170)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示