“T-SQL中的存储过程可以有”SELECT *“语句吗?

时间:2013-02-05 04:58:22

标签: tsql sql-server-2008-r2

SQL Server中的存储过程是否包含“Select *”关键字。 Shoud'nt它有“从表名中选择col名称”。在存储过程中特别是在T-SQL中使用“select *”是否正确。

1 个答案:

答案 0 :(得分:2)

可以吗?是。

应该吗?几乎可以肯定没有。

select *的用例应限于您希望获取每个当前列的情况,无论将来是否随时从表中添加或删除了哪些内容。

这很好地局限于一些小场景,例如:

  • 调试整个表输出以进行检查的位置;或
  • 像你想要一切的表翻转器这样的工具。

我建议每个用户查询专门只抓取他们需要的列,因为这两个:

  • 最大限度地减少线上转移;和
  • 可让您轻松检测DBA删除其中一列的位置,而无需告诉您。

由于在存储过程中使用非用户查询没有多大意义,因此您可能从不 select *