首先,我觉得SET
和SELECT
几乎是可以互换的。但是,当我在下面的代码中将SELECT
更改为SET
时,它无法编译。SET和SELECT命令的交换。
任何人都可以向我解释为什么这样吗?
谢谢。
-- Create Procedure
CREATE PROCEDURE uspGetAddressCount @City nvarchar(30), @AddressCount int OUT
AS
SELECT @AddressCount = count(*) -- changing 'SELECT' to 'SET' doesn't work
FROM AdventureWorks.Person.Address
WHERE City = @City
-- SQL query to call the procedure
declare @AddressCount int
exec uspGetAddressCount bothell, @AddressCount OUTPUT
select @AddressCount -- Didn't know SELECT can be used to print values ?
“我的印象是SET和SELECT几乎可以互换。”他们不是。你的印象是没有根据的。 –