开发者

Looping and printing without messages

开发者 https://www.devze.com 2022-12-11 17:30 出处:网络
I using this loop to print number DECLARE @A Int SET @A = 33 WHILE @A < 55 BEGIN SELECT @A as sequence SET @A = @A + 1

I using this loop to print number

DECLARE @A Int
SET @A = 33
WHILE @A < 55
BEGIN
SELECT @A as sequence
SET @A = @A + 1
END
GO

But problem that with every loop message is printed like example:

sequen开发者_运维问答ce
-----------
53

(1 row(s) affected)

How to print in order like this:

34

35

36

37

Can help me with CTE example for this?


Use PRINT

DECLARE @A INT
SET @A = 33
WHILE @A < 55
BEGIN
PRINT @A
SET @A = @A + 1
END
GO

For the CTE you can try

DECLARE @A INT,
        @End INT
SET @A = 33
SET @End = 55

;WITH Selected AS (
        SELECT  @A Val
        UNION ALL
        SELECT  Val + 1
        FROM    Selected
        WHERE   Val < @End
)
SELECT *
FROM Selected


If all you want is to print the value, you can use the PRINT statement. If you want to actually return the result (if your code is part of a stored procedure, for example), you could define a temporary table type variable, insert data on it on each loop, then return the contents of the table.

0

精彩评论

暂无评论...
验证码 换一张
取 消