导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

关于存储过程!

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
...全文
6 点赞 收藏 6
写回复
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
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告