SQL Server 2008 - 排序依据表变量不起作用

时间:2014-09-15 13:14:06

标签: sql-server-2008-r2

当我使用表格变量来从另一个表中获取记录并按顺序排序时,我没有在@SOF表中获得排序结果。它对大约前600条记录进行排序,然后出现故障。我使用的陈述是这样的。表BLACKBOX_ITEMS有超过13000条记录。

     DECLARE @SOF TABLE(
        ORDER_NUMBER VARCHAR(60),
        CFG_ORDER_ID VARCHAR(60),
        SOF_FIELDS   VARCHAR(200));

        INSERT INTO @SOF
            SELECT ORDER_NUMBER, CFG_ORDER_ID, 'Used for Testing '
            FROM   BLACKBOX_ITEMS
            WHERE  IS_ITEM = 1
                   AND ITEM_TEST_DESCRIPTOR IS NOT NULL
                   AND SYSTEM_ID IS NULL
                   AND ENCLOSURE_ID IS NULL
                   AND [CFG_BLACKBOX_ID] = @blackboxid
            ORDER  BY SYSTEM_ID,
                      ENCLOSURE_ID,
                      FRAME_SUB_TYPE;

然后,当我在@SOF表中添加Identity列并通过按标识列放置顺序对此表进行排序。它确实有效。我可以理解为什么它在addign identity coulmn之后工作但却无法理解为什么它不适用于没有添加标识列的第一种情况。

请指导我。这个问题困扰着我,因为在第一种情况下,它会在一定程度上对数据进行排序,然后就会出现故障。

谢谢, Upasana

0 个答案:

没有答案