mysql赋值语句会准确吗,SQL,用select ...from... 出来的值,如何设置循环语句,依次做declare和set赋值...

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

haiis

2015.11.02

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:57%    等级:12

已帮助:5103人

1234567891011121314151617--其实你可以说的更清楚点,你要实现什么?Declare @ID int,@filename VArchar(100)Declare @Cmd VArchar(1000)DECLARE Cur CURSOR FOR     Select ID,filename From 表 Order By id    --这句Select是你要查询出来的数据并排序OPEN CurFETCH NEXT FROM Cur INTO @ID,@filenameWHILE @@FETCH_STATUS = 0BEGIN    --这里写你依次要执行的命令    Set @Cmd=''    Exec (@cmd) FETCH NEXT FROM Cur INTO @ID,@filenameEND CLOSE CurDEALLOCATE Cur追问: 我是想要依次删除ID为1到4的单据记录,此前的SQL语句如下:

--1、定义单据ID值

@id=1 --(应收1,预收2,……)

--2、定义单据属性值

--当@id=1时,@frp=1,@ftype=1,当@id=2时,@frp=1,@ftype=5,……

--3、删除单据

Delete t_RP_Contact where FRP =@frp and FType =@ftype

追答: 123456789101112131415161718192021222324252627282930--那个字符串拆分的函数,在这可以使用--你得到的id是一个字符串比如A\B\C\D\E\F--那么这个字符串里有A就删掉A对应的数据,有B就删除B对应的数据--对应关系是,如果是A,则FRP=什么,FType=什么--是不是这个意思Declare @ID int,@Col VArchar(100)Declare @Cmd VArchar(1000)DECLARE Cur CURSOR FOR    Select * from dbo.f_split1('A\B\C\D\E\F','\')    --这句Select是你要查询出来的数据并排序OPEN CurFETCH NEXT FROM Cur INTO @ID int,@Col WHILE @@FETCH_STATUS = 0BEGIN    Delete t_RP_Contact where FRP =    Case @Col     When ='A' then 1     When ='B' then 2    When ='C' then 3    else 其他  End     and FType =    Case @Col     When ='A' then 1     When ='B' then 2    When ='C' then 3    else 其他  End FETCH NEXT FROM Cur INTO @ID,@filenameEND CLOSE CurDEALLOCATE Cur

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值