USE [localhost]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER procedure [dbo].[CKGL_DRCK]
as
declare @MC varchar(20);
declare @DRCKMC varchar(20);
declare @SL int;
declare @SPKCL int;
declare tCursor cursor for
select MC,DRCKMC,SL from CKGL;
select SPKCL from SPMC;
begin
Open tCursor
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
While(@@Fetch_Status = 0)
Begin
begin
SET @SPKCL=@SPKCL-@SL; update SPMC set SPKCL=@SPKCL where SSCK=@MC;
update SPMC set SPKCL=@SPKCL where SSCK=@DRCKMC; end
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
End
Close tCursor
Deallocate tCursor
end
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GOALTER procedure [dbo].[CKGL_DRCK]
as
declare @MC varchar(20);
declare @DRCKMC varchar(20);
declare @SL int;
declare @SPKCL int;
declare tCursor cursor for
select MC,DRCKMC,SL from CKGL;
select SPKCL from SPMC;
begin
Open tCursor
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
While(@@Fetch_Status = 0)
Begin
begin
SET @SPKCL=@SPKCL-@SL; update SPMC set SPKCL=@SPKCL where SSCK=@MC;
update SPMC set SPKCL=@SPKCL where SSCK=@DRCKMC; end
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
End
Close tCursor
Deallocate tCursor
end
解决方案 »
- 早上好,再问一个问题,SQL2005,2008中有多少种发送邮件的方法?
- 新手知识盲点你知道 !! 急 !
- 怎么加了order by 后不能更新记录 请问
- sqlserver08复制订阅延迟问题
- SQL Server 2008 R2服务器比PC慢很多的问题
- 利用VBA 实现 数据透视
- 急问 :::: 如果一个表的data(char型)字段是没有数据不是NULL,把它转成NULL 怎么转....???
- 请教一条sql语句
- 在Delphi中怎样把JPG文件插入到SQL Server数据库的Image字段中(绝对送分)
- SQL添加记录的问题 急急!! 在线等候。。
- 这个问题怎么解决啊
- sql替换函数问题
select MC,DRCKMC,SL from CKGL;
select SPKCL from SPMC;
一个游标为什么对应两个select 语句?
例子
table1结构如下
id int
name varchar(50)declare @id int
declare @name varchar(50)
declare cursor1 cursor for --定义游标cursor1
select * from table1 --使用游标的对象(跟据需要填入select文)
open cursor1 --打开游标fetch next from cursor1 into @id,@name --将游标向下移1行,获取的数据放入之前定义的变量@id,@name中while @@fetch_status=0 --判断是否成功获取数据
begin
update table1 set name=name+'1'
where id=@id --进行相应处理(跟据需要填入SQL文)fetch next from cursor1 into @id,@name --将游标向下移1行
endclose cursor1 --关闭游标
deallocate cursor1
as
declare @MC varchar(20);
declare @DRCKMC varchar(20);
declare @SL int;
declare @SPKCL int;
declare tCursor cursor for
select MC,DRCKMC,SL from CKGL t1
inner join SPMC t2 on t1.SPKCL = t2.SPKCL;
begin
Open tCursor
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
While(@@Fetch_Status = 0)
Begin
begin
SET @SPKCL=@SPKCL-@SL; update SPMC set SPKCL=@SPKCL where SSCK=@MC;
update SPMC set SPKCL=@SPKCL where SSCK=@DRCKMC; end
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
End
Close tCursor
Deallocate tCursor
end
as
declare @MC varchar(20);
declare @DRCKMC varchar(20);
declare @SL int;
declare @SPKCL int;
declare tCursor cursor for
select t1.MC,DRCKMC,SL from CKGL t1
inner join SPMC t2 on t1.SPKCL = t2.SPKCL;
begin
Open tCursor
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
While(@@Fetch_Status = 0)
Begin
begin
SET @SPKCL=@SPKCL-@SL; update SPMC set SPKCL=@SPKCL where SSCK=@MC;
update SPMC set SPKCL=@SPKCL where SSCK=@DRCKMC; end
Fetch next From tCursor
Into @MC,@DRCKMC,@SL,@SPKCL
End
Close tCursor
Deallocate tCursor
end