我有一个包含2列的SQL Server表,Code和CodeDesc。我想使用T-SQL循环遍历行并打印CodeDesc的每个字符。怎么做?
答案 0 :(得分:2)
如果你真的想循环遍历行,你需要光标。
DECLARE @temp YOURTYPE
DECLARE c CURSOR
FOR SELECT CodeDesc
FROM authors
OPEN c
FETCH NEXT FROM c
INTO @temp
WHILE @@FETCH_STATUS = 0
BEGIN
-do something with temp
FETCH NEXT INTO @temp
END
CLOSE c
DEALLOCATE c
答案 1 :(得分:1)
SELECT CodeDesc FROM Table1
然后打印所有返回的数据。
(当然你不使用T-SQL进行打印)
答案 2 :(得分:1)
因为这听起来像家庭作业,我会告诉你如何去做,而不是给你代码:
在WHILE循环中,使用SUBSTRING获取并打印角色。要查找字符串的长度,请使用LEN函数。
答案 3 :(得分:0)
对Svetlozar的答案进行了小幅更新(由于我无法发表评论)。为了使其正常工作,我必须两次都写FETCH NEXT FROM c
,否则我将收到一个错误消息,即名为“ NEXT”的游标不存在。因此代码如下所示:
DECLARE @temp YOURTYPE
DECLARE c CURSOR
FOR SELECT CodeDesc
FROM authors
OPEN c
FETCH NEXT FROM c
INTO @temp
WHILE @@FETCH_STATUS = 0
BEGIN
-do something with temp
FETCH NEXT FROM c INTO @temp
END
CLOSE c
DEALLOCATE c