0

我试图在我的代码中声明一个表,以便我可以链接必要的信息。简化,到目前为止我有这个:

DECLARE @Table TABLE
(
      ID            INT
    , Name          VARCHAR(50)
    , Group         VARCHAR(50)
);

    INSERT INTO @Table (ID,Name,Group) VALUES (1234,'Name1','Group1')
    INSERT INTO @Table (ID,Name,Group) VALUES (5678,'Name2','Group2')
    INSERT INTO @Table (ID,Name,Group) VALUES (1910,'Name3','Group3')

SELECT O.ID,T.Name
FROM Order O WITH (NOLOCK)
    JOIN @Table T
        ON O.ID=A.ID
WHERE (O.Date >= '2013-10-01'
    AND O.Date < '2013-11-01')
GROUP BY O.ID,T.Name
ORDER BY O.ID

我正在尝试提取日期与我指定范围匹配的 Order 表的 ID,并将这些结果与我声明的表变量中的相关“名称”匹配。

每当我运行代码时,我都会得到:

(1 row(s) affected)

...列出了很多次(可能在我的代码中每个 INSERT 行一个)。我的代码中有任何想法或明显的错误吗?

4

1 回答 1

2

(1 row(s) affected)是您在修改行时从 SQL Server 获得的标准消息。

如果您不想要这些消息,您可以使用它们,SET NOCOUNT ON但它们肯定不是任何错误的指示。

但是,您可能希望使用表值构造函数来以更大的批次插入行。

于 2013-11-06T15:59:18.040 回答