2012-04-20 17:04:43
<?php
require('connectDB.php'); //建立數(shù)據(jù)庫連接
mssql_query("BEGIN TRANSACTION DEPS02_DEL"); //開始事務
$delete_dep_sql="DELETE FROM TBLDEPARTMENT WHERE DEPTID='{$_GET[deptid]}'";
// echo $delete_dep_sql."<br>";
mssql_query($delete_dep_sql); //操作數(shù)據(jù)庫
// var_dump($del_result);
$delete_result = mssql_query("select @@ROWCOUNT as id");
$delete_info = mssql_fetch_array($delete_result);
$delete_rows = $delete_info[0];
// var_dump($delete_rows);
mssql_free_result($delete_result);
echo "<script language=javascript>";
if(true){
mssql_query("COMMIT TRANSACTION DEPS02_DEL"); //提交事務
echo "alert('delete success!');";
}else{
mssql_query("ROLLBACK TRANSACTION DEPS02_DEL"); //回滾事務
echo "alert('delete faile!');";
}
echo "</script>";
mssql_close();
?>
php+mssql 的事務處理主要是以mssql的語言實現(xiàn),php只是給其提供個與數(shù)據(jù)庫對話的空間,如果以{BEGIN TRANSACTION }開始,后續(xù)的mssql就在該事務期間里,等待提交或回滾得指令;如果不在事務期間內(nèi)就每個語句直接操作數(shù)據(jù)庫。要實現(xiàn)能多的mssql事務處理可以參考 MS SQL數(shù)據(jù)庫中的事務