循环处理--sqlserver
2015-10-12 10:42
316 查看
alter PROCEDURE [dbo].[sp_gongzi] @gongzi_yf varchar(7) as
DECLARE @input_id varchar(20)
DECLARE @sk_sum decimal(18, 3)
DECLARE @sk_sum_yk decimal(18, 3)
BEGIN
DECLARE cur_input CURSOR FOR
select docno from tc_tab1 where yf = @gongzi_yf
OPEN cur_input
FETCH cur_input INTO @input_id
WHILE @@FETCH_STATUS = 0
BEGIN
set @sk_sum = 0
set @sk_sum_yk = 0
select @sk_sum = sum(je * case when (hl2 is null) then hl else hl2 end )
from sk_dan where docno =@input_id;
select @sk_sum_yk = sum(je * case when (hl2 is null) then hl else hl2 end )
from sk_dan_yk where docno =@input_id;
set @sk_sum = case when (@sk_sum is null) then 0 else @sk_sum end;
set @sk_sum_yk = case when (@sk_sum_yk is null) then 0 else @sk_sum_yk end;
update tc_tab1 set dke2 = @sk_sum + @sk_sum_yk
where docno = @input_id;
FETCH cur_input INTO @input_id
END
CLOSE cur_input
DEALLOCATE cur_input
--*/
END
DECLARE @input_id varchar(20)
DECLARE @sk_sum decimal(18, 3)
DECLARE @sk_sum_yk decimal(18, 3)
BEGIN
DECLARE cur_input CURSOR FOR
select docno from tc_tab1 where yf = @gongzi_yf
OPEN cur_input
FETCH cur_input INTO @input_id
WHILE @@FETCH_STATUS = 0
BEGIN
set @sk_sum = 0
set @sk_sum_yk = 0
select @sk_sum = sum(je * case when (hl2 is null) then hl else hl2 end )
from sk_dan where docno =@input_id;
select @sk_sum_yk = sum(je * case when (hl2 is null) then hl else hl2 end )
from sk_dan_yk where docno =@input_id;
set @sk_sum = case when (@sk_sum is null) then 0 else @sk_sum end;
set @sk_sum_yk = case when (@sk_sum_yk is null) then 0 else @sk_sum_yk end;
update tc_tab1 set dke2 = @sk_sum + @sk_sum_yk
where docno = @input_id;
FETCH cur_input INTO @input_id
END
CLOSE cur_input
DEALLOCATE cur_input
--*/
END
相关文章推荐
- mysqldump命令导入导出数据库方法与实例汇总
- SQL Server 2008阻止保存要求重新创建表的更改
- MySQL Workbench 修改快捷键
- MySQL字符串大小写转换函数
- MySQL学习笔记5:修改表
- 常用sqlite错误编码及获取文件路径方法
- sqlserver 2012 重启是 ID 自动增长 1000的问题
- MySQL从入门到精通(性能测试与调优)
- sql server & oracle 加千分位
- 分页sql语句
- oracle查询当前会话数量
- ***mysql中查询今天、昨天、上个月sql语句
- redis报错Windows error 0x70
- oracle 11g RAC 常用命令
- plsql远程访问数据库 解决ora-12541:TNS:无监听程序
- MongoDB mapReduce操作
- Oracle数据库密码过期
- Oracle sqldevelop的使用(数据即.dmp文件的导入,用户创建,创建连接)
- 数据库分类----业务应用层面
- Oracle常用的命令