| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 459 人关注过本帖
标题:这样的语句该怎么做?
取消只看楼主 加入收藏
zenghuike
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-16
收藏
 问题点数:0 回复次数:2 
这样的语句该怎么做?

我想做一个存储过程,里面执行一个批处理程序,意思就是要同时删除几个表中的数据,带参数的,然后通过EXEC语句对参数赋值,不知道该如何做?写一段只删除一个表的数据,倒是可以做到,不过同时删除几个表中的数据,就是不行!!郁闷

搜索更多相关主题的帖子: 语句 
2006-09-11 21:50
zenghuike
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-16
收藏
得分:0 
我的语法是这样
create proc delsql
@starttime datetime,--起始时间
@endtime datetime --终止时间
as
delete from BALANCE where leavdate between @STARTTIME AND @ENDTIME
GO
delete from CHKINFO where leavdate between @STARTTIME AND @ENDTIME
GO
delete from tbldispatch where leavdate between @STARTTIME AND @ENDTIME

执行完后提示@starttime参数需要声明
存储过程倒是建立好了,但是用EXEC执行的时候,只能删除BALANCE表中的数据,其它的都为零,不知何故?如果我不带参数直接在删除语句中指明日期的话,都可以正常的删除。请各位高人指点指点,小弟先谢过了!!
2006-09-12 19:01
zenghuike
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2006-8-16
收藏
得分:0 
刚才照二楼的朋友的意思,我通过事务来做,不知道是不是这样写的,现在在家,没有数据库可测
create proc delsql
@starttime datetime,--起始时间
@endtime datetime --终止时间
as
BEGIN TRANSACTION del
delete from BALANCE where leavdate between @STARTTIME AND @ENDTIME
GO
delete from CHKINFO where leavdate between @STARTTIME AND @ENDTIME
GO
delete from tbldispatch where leavdate between @STARTTIME AND @ENDTIME
go
COMMIT TRANSACTION del
然后我执行
exec delsql '20050101','20060101'
2006-09-12 19:25
快速回复:这样的语句该怎么做?
数据加载中...
 
   



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

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