access支持DECLARE tb CURSOR LOCAL。。。这样得sql语句么
环境:vs2003(c#) +access
有一sql语句:
DECLARE tb CURSOR LOCAL
FOR
SELECT room.roomname,student.class,student.name FROM room,student where room.roomname=student.roomname ORDER BY room.roomname
DECLARE @roomname_old varchar(50),@roomname varchar(50),@class varchar(50),@member varchar(50),@s varchar(200),@ss varchar(200)
OPEN tb
FETCH tb INTO @roomname,@class,@member
SELECT @roomname_old=@roomname,@s='',@ss=''
WHILE @@FETCH_STATUS=0
BEGIN
IF @roomname=@roomname_old
begin
if(charindex(CAST(@class as varchar),@s)<=0)
begin SELECT @s=@s+','+CAST(@class as varchar) end
SELECT @ss=@ss+','+CAST(@member as varchar)
end
ELSE
BEGIN
INSERT @t VALUES(@roomname_old,STUFF(@s,1,1,''),STUFF(@ss,1,1,''))
SELECT @s=','+CAST(@class as varchar)
SELECT @ss=','+CAST(@member as varchar),@roomname_old=@roomname
END
FETCH tb INTO @roomname,@class,@member
END
INSERT @t VALUES(@roomname_old,STUFF(@s,1,1,''),STUFF(@ss,1,1,''))
CLOSE tb
DEALLOCATE tb
SELECT * FROM @t";
怎么它提示:无效的 SQL语句;期待 'DELETE'、'INSERT'、'PROCEDURE'、'SELECT'、或 'UPDATE'。
是不是access不支持上面得某些操作啊,高手帮忙看看