sql 游标问题

来源:百度知道 编辑:UC知道 时间:2024/05/31 09:56:19
declare nn cursor for select c.name as na, substring(b.partautoid1,1,4) as d from ps_employee b,a c where b.empno=c.nm

open nn
fetch next from nn
into @na,@d
while @@fetch_status=0
begin
select partname from ps_part where partid=@d
end
close nn
deallocate nn
结果是@na,@d没有声明.

给你一个示例:
DECLARE @au_lname varchar(40), @au_fname varchar(20)

DECLARE authors_cursor CURSOR FOR
SELECT au_lname, au_fname FROM authors
WHERE au_lname LIKE "B%"
ORDER BY au_lname, au_fname

OPEN authors_cursor

FETCH NEXT FROM authors_cursor
INTO @au_lname, @au_fname

WHILE @@FETCH_STATUS = 0
BEGIN

PRINT "Author: " + @au_fname + " " + @au_lname

FETCH NEXT FROM authors_cursor
INTO @au_lname, @au_fname
END

CLOSE authors_cursor
DEALLOCATE authors_cursor

在使用变量前,需要对变量进行定义,
例如 DECLARE @na varchar(10),@d varchar(10)
这样以后就可以使用变量@na以及变量@d了