想在SQL中写一段循环语句,将筛选出来的数据插入到另外一张表中

需求说明:我要查找订单表中预订时间到期的单,然后自动更改状态,同时为每个订单记录一个更改的日志asp里面是这样的setrs=conn.open("select*fromo... 需求说明:
我要查找订单表中预订时间到期的单,然后自动更改状态,同时为每个订单记录一个更改的日志

asp里面是这样的
set rs=conn.open("select * from order where isLock=0")
while not rs.eof
update order set isLock=1

insert into b ordID,txt values (rs("ID"),'到期自动取消')
rs.movenext
wend
现在我想用SQL的作业计划自动来执行这段,求大师帮忙写一段
展开
 我来答
frogley
2013-08-12 · TA获得超过1854个赞
知道小有建树答主
回答量:1008
采纳率:50%
帮助的人:1085万
展开全部

SQL里这事儿就没必要写循环了。

insert into b (ordID,txt)
select id,'到期自动取消' from order where isLock='0';
update order set isLock='1' where isLock='0';
百度网友59439df
2013-08-12 · TA获得超过219个赞
知道小有建树答主
回答量:135
采纳率:100%
帮助的人:125万
展开全部
--脚本
begin transaction

insert b (ordid, txt)
select [id],'到期自动取消' from [order] where isLock=0

if @@error<>0
begin
rollback transaction
raiserror('插入表失败!',16,1)
return
end

update [order] set isLock=1 where isLock=0
if @@error<>0
begin
rollback transaction
raiserror('更新状态失败!',16,1)
return
end

commit transaction
go
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式