关于存储过程!

yyzzff 2003-12-19 11:18:10
以下丰存储过程,我在查询分析器里试过了,可以运行!但在表中用SQL语句试却报错说WINID附近有错,请各位看看是不是有什么问题,为什么会在查询分析器里能行,在SQL中却不行呢?
CREATE PROCEDURE sodb AS
DECLARE @passwd char(30)
DECLARE winid CURSOR FOR
SELECT passwd FROM gz.dbo.gz_bm
OPEN winid FETCH next FROM winid INTO @passwd WHILE @@fetch_status = 0
BEGIN
insert gz_bm(passwd) values (@passwd)
FETCH next FROM winid INTO @passwd END
CLOSE winid
DEALLOCATE winid
GO
...全文
24 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyzzff 2003-12-20
  • 打赏
  • 举报
回复
执行成功了,可是数据库里的数据没有改变,这是为了什么!
hglhyy 2003-12-20
  • 打赏
  • 举报
回复
CREATE PROCEDURE sodb
AS
DECLARE @passwd char(30)
DECLARE winid CURSOR FOR
SELECT passwd FROM gz.dbo.gz_bm
OPEN winid FETCH next FROM winid
INTO @passwd WHILE @@fetch_status = 0

BEGIN
insert gz_bm(passwd) values (@passwd)
FETCH next FROM winid INTO @passwd
END
CLOSE winid
DEALLOCATE winid

GO
smallroad 2003-12-20
  • 打赏
  • 举报
回复
CREATE PROCEDURE sodb AS
DECLARE @passwd char(30)
DECLARE winid CURSOR FOR
SELECT passwd FROM gz.dbo.gz_bm
OPEN winid
FETCH next FROM winid INTO @passwd
WHILE @@fetch_status = 0
BEGIN
insert gz_bm(passwd) values (@passwd)
FETCH next FROM winid INTO @passwd
END
CLOSE winid
DEALLOCATE winid
GO
在试试
BlackCodeBoy 2003-12-20
  • 打赏
  • 举报
回复
可能你的passwd 字段是主键!
不是主键的话你声明的游标没有筛选条件这样会造成死循坏!
azsoft 2003-12-19
  • 打赏
  • 举报
回复
对不起。
看错了
azsoft 2003-12-19
  • 打赏
  • 举报
回复
少了while

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧