【发布时间】:2020-12-06 03:56:02
【问题描述】:
在问题Difference between a statement and a query in SQL,the accepted answer 中说:
语句是数据库引擎识别为有效命令的任何文本。
和
查询是返回记录集(可能为空)的语句。
例如,我知道update 和insert 在使用returning 子句时可以返回一个recorset,所以我猜他们在另一种情况下返回一个空的返回集。此外,根据 postgres 文档,update 命令返回一个“命令标签”。但我不明白这个标签是附加到一个空记录集上,还是它真的是返回的全部。
我的问题是:考虑到this list of SQL commands,我怎么知道哪个没有返回结果集(甚至不是空的)以及它们究竟返回了什么?
【问题讨论】:
-
有很多语句不返回记录集。
update、begincreate table、drop table、add index等。枚举所有这些超出了堆栈溢出答案的范围。请将您的问题限制为每个帖子一个实际问题。 -
@meagar 我认为
update返回一个结果集,因为根据您的数据库,您可以执行update ... returning col1, col2。所以我的是当returning不存在时它返回一个空结果集
标签: sql standards definition