易截截图软件、单文件、免安装、纯绿色、仅160KB

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 @errsum=@errsum+@errsum1
   print @errsum
print @@trancount
  if @errsum=0
 commit tran
  else
 ROLLBACK TRANSACTION  
end
go
/*执行
exec proc_insert
select * from testtb
*/


相关文档:

mssql里sp_MSforeachtable和sp_MSforeachdb的用法

从mssql6.5开始,微软提供了两个不公开,非常有用的系统存储过程sp_MSforeachtable和sp_MSforeachdb,用于遍历某个数据库的每个表和遍历DBMS管理下的每个数据库。
我们在master数据库里执行下面的语句可以看到两个proc详细的代码
use master
exec sp_helptext sp_MSforeachtable
exec sp_helptext sp_Msforeachdb
sp_M ......

mssql 中将汉字转换为拼音首字母方法


1.
--将汉字转换为拼音首字母
CREATE   function   GetAllPY(@str   nvarchar(4000))
returns   nvarchar(4000)
--WITH   ENCRYPTION
as
begin
declare   @intLen int
declare   @strRet nvarchar(4000)
declare   @temp   nvarchar(100)
set   @intLen &nb ......

mssql row_number() partition 使用方法理解

Sql2005中使用ow_number() partition进行分组实验,
SQL:
select * from stu
select id,row_number() over (partition by snm order by id) from stu
结果:
id      snm
----------------
111 111V
111 111W
222 222N
333 3123
444 3123
555 3123
666 3232
777 3232
--分组后的结果
id &n ......

php 5.3 连接mssql数据库

最近有个小东西要查看mssql数据库是用php实现的,以前我用php5.2时感觉挺简单的所以想php5.3也应该很简单的
为什么要用php5.3呢因为我想用sqlite3.0的啊,因为php5.2的不支持sqlite3.0的啊,所以我特意去下了5.3了下载回来了才发现5.3里没有mssql的dll扩展了,郁闷啊,不管这么多先用起那sqlite3.0再说了
sqlite3.0的部分 ......

php 调用mssql存储过程实例应用

php教程 调用mssql存储过程实例应用
用mssql_init语句用于初始化存储过程,而后调用mssql_bind语句指定存储过程参数,最后调用mssql_execute执行存储过程。
*/
//连接mssql数据库教程服务器
 $link = mssql_connect("127.0.0.1", "sa", "sa") or die("Can't connect sql server");
    mssql_sele ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号