易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : mssql

MSSQL数据库嵌套存储过程的事务控制

   在MSSQL规范中,支持事务嵌套,不过在嵌套调用子存储过程时,要回滚事务,需把@@error传给最外层事务。举例如下:
drop table testtb
go
create table testtb
(
 id int,name varchar(2)
)
go
--子过程
drop proc proc_insert_sub
go
create proc proc_insert_sub
@errResult int out--返回错误值
as begin
 declare @errsum int
 declare @transname varchar(20)
 set @transname='subtran'
 set @errsum=0
 --正确数据
    insert testtb values(1,'00')
 set @errsum=@errsum+@@error
 --错误数据
 insert testtb values(2,'222')
 set @errsum=@errsum+@@error
 --正确数据
 insert testtb values(1,'11')
 set @errsum=@errsum+@@error
 set @errResult=@errsum
end
go
--主过程
drop proc proc_insert
go
create proc proc_insert
as begin
declare @errsum int
declare @errsum1 int
set @errsum=0
set @errsum1=0
  begin tran
  exec proc_insert_sub @errsum1 out
  print @errsum1
  set @er ......

MSSQL强制使用index

注:本篇只是记录所碰到的问题。
最近对程序做了一些性能上的优化,集中在sql上。发现了一个问题。
同一个语句,如果搜索的范围小,系统自动使用index。如果搜索的范围大,系统不知道为什么放弃使用index。改用scan table。
这样很影响性能。造成的原因不是很清楚。如果知道朋友可以留言给我,指教一下。
为了解决这个问题,我只有在sql语句上强制使用某的index。 例子如下
Select ..... from products with (index(indexname)) where ..... ......
总记录数:86; 总页数:15; 每页6 条; 首页 上一页 [6] [7] [8] [9] [10] [11] [12] [13] [14] 15  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号