这可能看起来像一个复制到这里,但事实并非如此.我想要获得最佳实践,而不是技术性答案(我已经知道).
SQL Server的新手,并试图形成良好的习惯.
我找到了对
这里SET @var =和之间的功能差异的一个很好的解释SELECT @var =
:http: //vyaskn.tripod.com/differences_between_set_and_select.htm
总结一下另一个没有的东西(参见示例的来源):
组:
SET @var = (SELECT column_name FROM table_name) 当select返回多于一个值时失败,消除了不可预测结果的可能性.SET @var = (SELECT column_name FROM table_name)@var如果SELECT column_name FROM table_name返回的话将设置为NULL ,因此永远不会离开@var它的先前值.选择:
SELECT @var = column_name FROM table_name将设置@var为(根据我的测试)select返回的最后一个值.这可能是一个功能或错误.可以使用SELECT @j = (SELECT column_name FROM table_name)语法更改行为.那么,我该怎么办?
(几乎)总是使用SET @var =,使用SELECT …