什么时候适合SELECT *
在存储过程中使用?
问问题
162 次
1 回答
3
用于SELECT *
存储过程的输出是不好的做法。当基础表发生变化时,SELECT *
查询的输出将发生变化,从而导致潜在的问题。如果 SP 为 Web 应用程序提供数据,则该 Web 应用程序的一部分可能会中断。如果 SP 由批处理执行,则该过程可能会失败,从而导致其他问题,包括愤怒的 DBA。
可以的一种情况SELECT *
是在IF EXISTS
检查的上下文中:
IF EXISTS (SELECT * FROM dbo.myTable)
BEGIN
-- do something
END
编辑:但是,您可以轻松地使用SELECT 1
来满足IF EXISTS
检查。
于 2013-08-13T22:26:36.463 回答