何时在存储过程中使用“SELECT *”是否合适?

时间:2013-08-13 22:10:27

标签: sql-server tsql stored-procedures triggers

何时在存储过程中使用SELECT *是否合适?

1 个答案:

答案 0 :(得分: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检查。