循环打印3次FOR每次打印一个字从这3打印

时间:2014-01-17 08:58:26

标签: sql sql-server tsql

我想循环PRINT 3次FOR每次从这个3 SELECT

打印一个单词
PRINT I'm mark  

PRINT HI
PRINT hello
PRINT how are you

我试试这个

DECLARE @i INT
SET @i = 0

PRINT 'Im mark' 
WHILE @i < 1
BEGIN
PRINT 'hi' 
SET @i = @i + 1
END 
PRINT '-------------------'
SET @i = 0
PRINT 'Im mark' 
WHILE @i < 1
BEGIN
PRINT 'hello' 
SET @i = @i + 1
END 
PRINT '-------------------'
SET @i = 0
PRINT 'Im mark' 
WHILE @i < 1
BEGIN
PRINT 'how are you' 
SET @i = @i + 1
END 

但它循环所有块3次我希望结果是这样的 我想要一个循环它只是一个简单的例子我的工作很大

-----loop I------
I'm mark  
Hi

-----loop II------
I'm mark  
hello

-----loop III------
I'm mark 
how are you

1 个答案:

答案 0 :(得分:0)

create table #test(id int,col varchar(50));
insert into #test values(1,'HI');
insert into #test values(2,'hello');
insert into #test values(3,'how are you');


declare @msg varchar(50);
declare @i int;
declare @msgTemp varchar(50);

set @msg='I m Mark' + CHAR(13); -- Char(13) is the New Line character in TSQL
set @i=1;

while(@i<4)
      begin
        print @msg

        select @msgTemp=col
        from #test where id=@i

        print @msgTemp + CHAR(13)

        set @i=@i+1;
      end

Drop table #test