⑴ sql server update 语句批量更新
你要替换掉的字符串是 "-p-*.html",这其中的*是指字符*本身还是代表任意字符?
如果是代表字符*本身,那么使用replace函数就可以实现替代:
updatedbo.Proct_Bt
setPrDetails=replace(cast(PrDetailsASvarchar(8000)),'-p-*.html','.html')
wherePrDetailslike'%-p-*.html'
如果是代表任意字符,那么因replace函数尚不支持通配符号,需要自己实现替换了。
⑵ 请教各位高手如何写UPDATE SQL 批量语句
update b set orderno=c.orderno,po=c.po,hts=c.hts
from b ,(select orderno,po,hts from a) as c
看看这样行不行
⑶ 如何批量update一张表里的内容 sql 语句
declare
v_num number(3);
cursor cur_num is
select id from table_name where id between 100 and 320;
begin
open cur_num;
loop
fetch cur_num
into v_num;
exit when cur_num%notfound;
Update BD
set IsActive = '0', comments = 'old BD 2001'
where Id = v_num;
commit;
end loop;
close cur_num;
end;
⑷ 求一个SQL 批量更新语句
数值型
update 表名 set 字段=字段+1000
文本型
update 表名 set 字段='1'+字段
⑸ 请教一个多条批量更新的SQL语句
declare @output varchar(8000)
select @output=coalesce(@output,'')+ a.name +'=case '+a.name+' when 0 then 5 when 1 then 4 when 2 then 3 when 3 then 4 else 1 end,' from syscolumns a
left join sysobjects b
on a.id=b.id where b.name='tb'
select @output=substring(@output,1,LEN(@output)-1)
exec(N'update tb set '+@output+'')
--如果只操作部分列,就复制一个空白表
select top 0 a,b,g into tb1
declare @output varchar(8000)
select @output=coalesce(@output,'')+ a.name +'=case '+a.name+' when 0 then 5 when 1 then 4 when 2 then 3 when 3 then 4 else 1 end,' from syscolumns a
left join tempdb..sysobjects b
on a.id=b.id where b.name='tb1'
select @output=substring(@output,1,LEN(@output)-1)
exec(N'update tb set '+@output+'')
⑹ SQL如何批量更新数据
您好,可先将需要正确的更新的内容导入到另一张表中,通过另一张表的数据与原始的表数据的关联关系进行批量更新。如此多列都可进行批量更新。
⑺ SQL语句 表中自动批量update
update 表1 set 字段1=(select 表2.字段1 from 表2 where 表2.航班号=表1.航班号 and 表2.日期=表1.日期) where exists (select 1 from 表2 where 表2.航班号=表1.航班号 and 表2.日期=表1.日期 )
试一下,不知道行不行,没有测试
⑻ 批量更新SQL语句
批量更新SQL语句
update qc_top set top_id='1' where id=1
update qc_top set top_id='1' where id=2
⑼ SQL 批量更新语句
1.使用存储过程
2.在程序代码里逐条循环执行
这里给出一种更高效、简洁的做法,批量更新SQL ,一句SQL就可以替代麻烦的循环过程,有MS SQLServer、Oracle、DB2下的写法
--关键点:t4和t1是同一个table,primary key肯定也是同一个,
--并以它进行关联,这样在 select语句里即可引用到要update的表的fields
UPDATETable1ASt1
SET(Field1,Field2)=(SELECTField21,Field22
FROMTable2t2
INNERJOINTable3t3
ONt3.Field31=t2.Field23
INNERJOINTable4t4
ONt3.Field32=t4.Filed41
WHEREt2.Field24>=''
ANDt1.fId=t4.fId);
----------------------------MSSQLServer-----------------------------------
UPDATEt1
SETField1=Field21,Field2=Field22
FROMTable2t2
INNERJOINTable3t3
ONt3.Field31=t2.Field23
INNERJOINTable4t4
ONt3.Field32=t4.Filed41
WHERE((t2.Field24>='')
ANDt1.fId=t4.fId);
⑽ 如何update sql 批量更新
update 表名 set value=case when id=1 then 一个值 when id=2 then 一个值 when id=3 then 一个值 else value end
上边就是举个例子,意思是,当id=1时,把value设定个值,当id=2时,value设定另一个值,依次类推,不需要更改的保留原来的value值,最后以end结尾