【发布时间】:2014-04-04 11:29:44
【问题描述】:
我有这张桌子:
CREATE TABLE [dbo].[INCREMENTAL_TABLE](
[GTIN] [bigint] NOT NULL,
[PRESENTATION] [tinyint] NOT NULL,
[LEVEL] [bigint] NOT NULL,
[INCREMENTAL] [bigint] NOT NULL DEFAULT(0)
CONSTRAINT [PK_INCREMENTAL_TABLE_1] PRIMARY KEY CLUSTERED
(
[GTIN] ASC,
[PRESENTATION] ASC,
[LEVEL] ASC
) ON [PRIMARY]
现在,我正在创建一个存储过程:
CREATE PROCEDURE MyProc
@gint bigint,
@pres tinyint,
@level bigint,
@quantity smallint
AS
DECLARE @current_incremental bigint
DECLARE @counter bigint
-- Get current incremental.
set @current_incremental =
(SELECT INCREMENTAL
FROM INCREMENTAL_TABLE
WHERE GTIN = @gint AND
PRESENTATION = @pres AND
LEVEL = @level)
--
SET @counter = @current_incremental
WHILE ((@counter - @current_incremental) <= @quantity)
BEGIN
SET @counter = @counter + 1
END
GO
在这个存储过程中,我必须创建一个带有 @quantity 节点的 XML。想象一下我有这个电话:
EXEC MyProc @gint = 1 @pres = 2 @level = 3 @quantity = 100
而且,我有这个初始值:
@current_incremental = 10
有了这些数据,我必须返回一个带有这些值的 xml:
GTIN | PRESENTATION | LEVEL | INCREMENTAL
-----+--------------+-------+------------
1 | 2 | 3 | 10
-----+--------------+-------+------------
1 | 2 | 3 | 11
-----+--------------+-------+------------
1 | 2 | 3 | 12
[ ... ]
-----+--------------+-------+------------
1 | 2 | 3 | 109
但我不会将它插入到表格中。
如果我无法通过对该表的选择来获取包含这些数据的 XML?
【问题讨论】:
标签: sql xml sql-server-2012