2011-04-27 94 views
1

如果执行SELECT COUNT(*) from ...,返回代码为,则返回0,那么SQL的返回码是什么?是0还是100(找不到)?来自Select count(*)的SQL返回码

谢谢。

+1

你问什么dbms? – squillman 2011-04-27 19:37:23

+0

您是否在谈论IBM DB2?如果是这样,请相应标记。 – BoltClock 2011-04-27 19:42:22

+0

如果它是IBM DB2,它的价值是什么?是100还是1? – San 2011-07-25 15:56:45

回答

0

零因为没有行。 100会和它有什么关系?

请在我的答案看这里太:Does COUNT(*) always return a result?

编辑:除非你的意思是DB2作为别处指出...

+1

SQL返回码(或SQLCODE)!= COUNT()的返回值 – BoltClock 2011-04-27 19:38:17

+0

@BoltClock,@squillman:返回码为零。正如我所说,100个与它有什么关系?一般来说SQL中没有“未找到”。你的意见几乎和问题一样糟糕...... – gbn 2011-04-27 19:40:52

+1

嗯,是的,因为OP甚至没有指定什么DBMS ......我猜它是IBM DB2。请参阅http://en.wikipedia.org/wiki/DB2_SQL_return_codes – BoltClock 2011-04-27 19:44:53

2

总是返回1行1列(含行数,也就是计数(*)的价值),如果这是你问...

+0

SQL返回码(或SQLCODE)!= COUNT()'结果集查询 – BoltClock 2011-04-27 19:40:31

0

假设你在谈论MS SQL Server,@@错误代码将始终为0,假设您查询有效的表。 @@错误代码描述了操作本身的成功,而不是结果的成功。

+0

返回码只能由RETURN或内部错误设置。 SELECT COUNT没有返回码。你的意思是@@ ERROR? – gbn 2011-04-27 19:42:57

+0

@gbn是的,谢谢。修正了。 – squillman 2011-04-27 19:44:49