我目前正在学习如何在 SQL Server 环境中创建存储过程。
我有一个与 Joes2Pros SQL 服务器系列一起使用的查询块。
T-SQL 语法目前如下所示:
Use JProCo
GO
CREATE PROCEDURE sp_GetProductListByCategory @Category VarChar(50)
AS
BEGIN
SELECT ProductID, ProductName, RetailPrice
FROM dbo.CurrentProducts
WHERE Category = @Category
END
EXECUTE sp_GetProductListByCategory 'No-Stay'
运行此代码得到如下结果:
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
(80 row(s) affected)
我所期待的是一张满是结果和记录的表格。相反,查询似乎运行了很多次。我想知道的是:
为什么这似乎运行了很多次?我没有看到任何会在这个逻辑集中创建循环的东西。(我尝试了上面没有 BEGIN 和 END 语句的 T-SQL 代码,并且存在相同的行为)