事务管理模式
Sybase SQL Server Set chained [ on : off ] Set implicit_transactions [on : off ] |
在Sybase中使用下面的代码判断事务模式:
SELECT @@tranchained GO |
下面是可能返回的结果:
0 表明使用的是非链锁式事务模式
1 表明连接运行在链锁模式下
在SQL Server中使用下面的代码判断事务模式:
IF (@@options & 2) > 0 PRINT on ELSE PRINT off |
下面是可能的返回结果:
0 off >0 on |
隔离水平
在一个关系数据库这样的多线程应用软件中,数据库引擎对运行的进程间的数据是如何被隔离的管理是非常重要的,在表示隔离水平时,Sybase和SQL Server的语法是不同的。下面的表格表明了Sybase和SQL Server在表示隔离水平时的差别。
Sybase SQL Server 0 READ UNCOMMITTED 1 READ COMMITTED 2 REPEATABLE READ 3 SERIALIZABLE |
游标语法
二种产品中存储过程的创建和执行基本相似,但在移植时,游标语句中的一些例外是我们应当注意的。下面是一个例子:
CREATE PROCEDURE sql_cursor AS DECLARE @lname char(20), @fname char(20) DECLARE mycursor CURSOR FOR SELECT au_lname, au_fname FROM authors OPEN mycursor FETCH FROM mycursor INTO @lname, @fname WHILE @@ FETCH_STATUS = 0 /* Sybase数据库使用@SQLSTATUS而不是@@ FETCH_STATUS */ BEGIN FETCH FROM mycursor INTO @lname, @fname /* ** 这里应当是一些业务逻辑 */ END CLOSE mycursor DEALLOCATE /* Sybase数据库在这里需要CURSOR这个词 * / mycursor Sybase SQL Server Fetch命令执行成功 0 0 Fetch命令执行失败 1 -2 没有可存取的记录了 2 -1 |
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。