| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 969 人关注过本帖
标题:请教一个删除单条数据的存储过程
只看楼主 加入收藏
zhouyulv
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-1
收藏
 问题点数:0 回复次数:6 
请教一个删除单条数据的存储过程
表A是单头:
id,店名,   日期       ,            应收金额, 实收金额
01  001  2004-12-26 10:54:37.000     10       10
02  001  2004-12-26 11:54:37.000     11       10
03  002  2004-12-26 12:54:37.000     12       12

----------------------------------------------------

表B是明细表:
id   商品编码   销售数量    销售价          实收金额
01    1001       1           10                   10
02    1002       1            5.5                5.5
02    1003       1            5.5                5.5
03    1004       1           12                  12
--------------------------------------------- ----------------
我现在想把商品编码为:1003的删除..然后把表A中的应收金额和实收金额更新成删除后的金额.还要加一个日期条件..日期> dateadd(day,-1,getdate())
搜索更多相关主题的帖子: 单条 数据 金额 商品 
2008-05-12 15:25
zhouyulv
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-1
收藏
得分:0 
高手请帮忙指点下..
2008-05-12 15:31
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
表A和表B是通过什么关联?是ID吗
2008-05-12 15:49
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
写了下 没测试 时间比较急,错误处理请自己搞定
BEGIN TRAN
    DECLARE @Var AS VARCHAR(10)

    UPDATE A SET 应收金额=应收金额 - 应收金额1,实收金额=实收金额 - 实收金额1  
    FROM  (SELECT [id],SUM(销售数量 * 销售价格) 应收金额1,SUM(实收金额) AS 实收金额1 WHERE 商品编码=@Var GROUP BY [ID]) AS C
    WHERE  A.[ID]=C.[ID] AND A.日期> dateadd(day,-1,getdate())

    DELETE B FROM B INNER JOIN A ON B.[ID]=A.[ID] WHERE  A.日期> dateadd(day,-1,getdate()) AND 商品编码=@Var
   
COMMIT TRAN
2008-05-12 15:56
zhouyulv
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-1
收藏
得分:0 
[bo]以下是引用 [un]happynight[/un] 在 2008-5-12 15:56 的发言:[/bo]

写了下 没测试 时间比较急,错误处理请自己搞定
BEGIN TRAN
    DECLARE @Var AS VARCHAR(10)

    UPDATE A SET 应收金额=应收金额 - 应收金额1,实收金额=实收金额 - 实收金额1  
    FROM  (SELECT ,SUM(销售数量  ...

@Var这个不清楚..因为我要删除的商品编码是有要求的..10003
2008-05-12 16:01
happynight
Rank: 8Rank: 8
等 级:贵宾
威 望:15
帖 子:807
专家分:760
注 册:2008-4-26
收藏
得分:0 
@Var是一个变量,之所以使用变量,就是为了比较灵活点,因为你要写存储过程的话,目的就是重复使用,使用这个可以用来删除不同的商品而不只是为了一次性的删除10003而下次又要修改程序
2008-05-12 16:53
zhouyulv
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-1
收藏
得分:0 
多谢..搞定了..
2008-05-13 14:35
快速回复:请教一个删除单条数据的存储过程
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014504 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved