i=1
do while i<305
xn=cstr(i)
for n=1 to 8-len(xn)
xn="0" & xn
next n
xn="yp" & xn
UPDATE ypzl SET 药名名称ID=' & xn & "' WHERE id < '304'
i=i+1
loop
update 表名
set C_METHOD_NAME= lower(substring(REPLACE(C_METHOD_NAME,'process',''),1,1))+
substring(REPLACE(C_METHOD_NAME,'process',''),2,len(REPLACE(C_METHOD_NAME,'process','')))
--REPLACE(C_METHOD_NAME,'process','')用空值取代process
-- lower改小写
--lower(substring(REPLACE(C_METHOD_NAME,'process',''),1,1))把取代后字符串的第一个字母改小写
--再加上后面的字符串
----先删除要处理字段的默认值约束
declare @s varchar(8000)
set @s=''
select @s=@s+'
alter table ['+bname+'] drop constraint ['+dname+']'
from syscolumns a
join sysobjects b on aid=bid
join syscomments c on acdefault=cid
join sysobjects d on cid=did
where bname='KeyWords'
and (aname='hits')
exec(@s)
----如果要要将 hits 字段改为数字类型
alter table KeyWords alter column [hits] numeric(18,0)
----再为字段 hits 添加默认值约束
set @s='alter table KeyWords add constraint
[df__t1__hits__'+cast(newid() as varchar(36))
+'] default (0) for hits'
exec(@s)
go
--如果要改已有的数据
update KeyWords set hits=0 where 1=1
oracle这样是可以的,SQLserver这样貌似不行
在SQLserver中,要实现这样的功能只能用游标,代码如下:
createprocereUpdateValue--存储过程里面放置游标
as
begin
declarecursor--声明一个游标,查询满足条件的数据
forselect主键,SD_VALfromEQ_SD_D
open--打开
declare@主键int,@SD_VALnvarchar(20)--声明一个变量,用于读取游标中的值
fetchnextfrominto@主键,@SD_VAL
while@@fetch_status=0--循环读取
begin
updateEQ_SD_Dsetname=@SD_VALwhereid=@主键
fetchnextfrominto@主键,@SD_VAL
end
close--关闭
deallocate--删除
end
另一个思路你试试:
html:
<input type="text" name="A[]" /><input type="text" name="B[]" />
<input type="hidden" name="ids[]" value="{$id}" />
php:
<php$a = $_POST['A'];
$b = $_POST['B'];
$ids = $_POST['ids'];
foreach($a as $k => $v) {
$sql = "update abc set a='{$v}', b='{$b[$k]}' where id='{$ids[$k]}'";
mysql_query($sql);
}
以上就是关于vb sql批量修改语句全部的内容,包括:vb sql批量修改语句、sql 语句 批量修改、批量修改SQL数据库表中 某字段的默认值 的语句 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)