老版本(9.0以前),要想把一部分记录追加到另一个结构相同的表中,是比较麻烦的,或者写函数,或者在客户端用语言来实现。
但新片的手册中多了一个query关键字,使这项任务很轻松。
应用的环境举例:
在doc表里,一个文档删除时,不想真正的删除,而是把它移到另一个doc_del的表,doc_del表结构要跟doc相同,这时就可以命令:
update into doc_del query select * from doc where id=111;
这条命令可以实现很多条一起追加,只要修改where的条件即可。
另附,9.4版的update命令:
[ WITH [ RECURSIVE ] with_query [, ...] ]
INSERT INTO table_name [ ( column_name [, ...] ) ]
{ DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ]
阅读(2464) | 评论(0) | 转发(0) |