最近用PostgreSql数据库进行表关联更新时,发现与之前用的Sql Server 和My Sql语法有很大差别,稍微不注意,很容易出错。
PostgreSql表更新时,两个表只允许一个表起别名,一般是被更新的表不起别名,查询的表起别名
正确的写法如下
- SELECT * from pro.book;
- SELECT * from pro.book_detail;
- UPDATE pro.book_detail
- set book_name=tab1.book_name
- from pro.book tab1
- where book_id=tab1."id" and tab1.book_name!='';


错误写法如下
