如何同时更新和选择
我需要更新表的某些行,然后显示这些行。有没有一种方法可以通过一个查询来完成此操作并避免这两个查询? :
UPDATE table SET foo=1 WHERE boo=2
SELECT * from table WHERE ( foo=1 ) AND ( boo=2 )
I need to update some rows of the tables and then display these rows. Is there a way to do this with one single query and avoid this 2 query ? :
UPDATE table SET foo=1 WHERE boo=2
SELECT * from table WHERE ( foo=1 ) AND ( boo=2 )
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
在 PostgreSQL v8.2 及更高版本中,您可以使用
RETURNING< 来执行此操作/代码>
:
In PostgreSQL v8.2 and newer you can do this using
RETURNING
:您可以在 PL/pgSQL 中使用存储过程。查看[文档][1]
类似的内容,
您将节省发送另一条语句的往返时间。这不应该成为性能瓶颈。答案很简短:只需使用两个查询。没问题,这就是您在 SQL 中执行此操作的方式。
[1]: http://www.postgresql.org/docs/8.4/ static/plpgsql.html 文档
You can use a stored procedure in PL/pgSQL. Take a look at the [docs][1]
Something like this
You will save the roundtrip time for sending another statement. This should not be a performance bottleneck. So short answer: Just use two queries. That's fine and this is how you do it in SQL.
[1]: http://www.postgresql.org/docs/8.4/static/plpgsql.html docs
您可以使用存储过程或函数。它将包含您的查询。
You can use stored procedure or function. It will contains your queries.