PostgreSQL update set from 两表联合更新,注意与其它数据库更新语法有差别


  最近用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!='';

  错误写法如下


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM