我想更新一个表里的字段,去执行 update mytable set f1=myclss('F1'.'F2')
我执行了一会儿,还没返回执行完毕,我想去查看有没有已经更新了,结果查询结果为空。于是我想 MSSQL里面有没有办法 UPDATE 语句一条一条执行。我这里有一个ORACLE的跪求MSSQL版本的。 function getSJSTEP3_B_comcode return smallint is
p_mycode varchar2(32);
begin
for c in (select rowid, CONTRACTNO -- VARCHAR2(32)
from SJSTEP3_B
where 1 = 1
and mycode is null) loop
select mycode
into p_mycode
from sjstep1
where contractno = c.CONTRACTNO
and rownum <= 1;
update sjstep3_b set mycode = p_mycode where rowid = c.rowid; commit;
end loop;
return 1;
end;请看红色字体部分,这里会更新一笔 然后就提交我想知道的是MSSQL里面有木有。
我执行了一会儿,还没返回执行完毕,我想去查看有没有已经更新了,结果查询结果为空。于是我想 MSSQL里面有没有办法 UPDATE 语句一条一条执行。我这里有一个ORACLE的跪求MSSQL版本的。 function getSJSTEP3_B_comcode return smallint is
p_mycode varchar2(32);
begin
for c in (select rowid, CONTRACTNO -- VARCHAR2(32)
from SJSTEP3_B
where 1 = 1
and mycode is null) loop
select mycode
into p_mycode
from sjstep1
where contractno = c.CONTRACTNO
and rownum <= 1;
update sjstep3_b set mycode = p_mycode where rowid = c.rowid; commit;
end loop;
return 1;
end;请看红色字体部分,这里会更新一笔 然后就提交我想知道的是MSSQL里面有木有。
解决方案 »
- sql 2008中快照发布和事务发布的区别
- 很困惑的问题,请大吓出出主意?
- 菜鸟 求一个不是很复杂的语句
- ==========请问各位大哥bde联接SQLSEVER数据库使用的端口号是多少?===========
- 求助一个建立存储过程的小问题
- 一个access数据库建立起来预计能达到1G左右的存储容量,这么大的数据库在今后的使用中会发生意外吗?
- MMC 检测到此管理单元发生一个错误.建议您关闭并重新启动MMC
- 如何让整型和MONEY型长度不够额定长度时就用空格填充???
- 求個SQL
- 如何得到SQL Server数据库表中字段的描述信息?
- 数据导入(DTS)
- sqlserver2008的undo是逻辑结构还是日志
while(@i<(select max(id) from tablename))
begin
update tablename set col='a'+ltrim(@i) where id=@i
set @i=@i+1
end
重点是,如果让MSSQL 更新一行记录后,就提交。 然后 再执行第二条。
现在的情况是,MSSQL会全部更新完毕之后一次提交。两个方式的最终结果时间相差很多的。
TALBE1
BIZYEARMONTH,POLICYNO,SCODE,JCODE
201001 ,2232432 , ,
201001 ,2232433 , ,
201001 ,2232434 , ,
201001 ,2232435 , ,
201001 ,2232436 , ,talbe2
BIZYEARMONTH,POLICYNO,SCODE,JCODE
201001 ,2232432 , A1 , B2
201001 ,2232433 , A2 , B3
201001 ,2232434 , A2 , B5
201001 ,2232435 , A3 , B9
201001 ,2232436 , A9 , B1
看吧,就是把TABLE2里面的数据 写到TABLE1里面 简单吧。
里面是逗号不是点
谢谢指出。
另外在ORACLE里面这个叫PKG其实我也不是清楚,别人写过的 我参考下修改了
确实这样执行会快很多。然后可以通过 SELECT COUNT(FLG) from talbe where flg<>''
来获取现在更新了多少条。