『壹』 sql中的存儲過程里怎麼寫事務回滾啊
CREATE PROC [dbo].[notice_Delete] --- 同時刪除該通知書和對應的節點
@tbl VARCHAR(30),
@pid INT
AS
BEGIN
DECLARE @tblname VARCHAR(30) ;
DECLARE @sql VARCHAR(1000) ;
SET @tblname = @tbl
SET @sql = 'delete ' + @tblname + ' where id ='
+ CONVERT(VARCHAR(10), @pid)
BEGIN TRAN --開始事務
EXEC ( @sql
)
IF ( @@rowcount = 0 ) --執行結果影響行數為0
BEGIN
ROLLBACK TRAN --回滾
END
ELSE
BEGIN
DELETE FROM tbl_treenotice
WHERE purposeid = @pid
IF ( @@rowcount = 0 ) --執行結果影響行數為0
BEGIN
ROLLBACK TRAN --回滾
END
ELSE
BEGIN
COMMIT TRAN --提交事務
END
END
END
『貳』 sql資料庫中包含哪幾種函數 啟動一個顯式事務的語句為 提交事務的語句為 回滾事務的語句為
基本函數:max(最大);min(最小);avg(平均);sum(和);count(統計);
數字函數:abs;floor;power;round;sign;sqrt;rand;..
日期函數:getdate;dateadd;datediff;datepart;datename;year;month;day;..
轉換數據函數:convert(目標類型,原數據類型)
字元串函數:charindex;len;lower;datelength;upper;ltrim;rtrim;replace;rigth;left;stuff;..
啟動一個顯式事務的語句:begin transaction;
提交事務的語句:commit transaction;
回滾事務的語句:rollback transaction;
希望對你有用!
『叄』 什麼是事務事務中的提交和回滾是什麼意思
事務(Transaction),一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新資料庫中各種數據項的一個程序執行單元(unit)。事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。
事務的提交是指事務里的所有操作都正常完成。
事務的回滾是指程序或數據處理錯誤,將程序或數據恢復到上一次正確狀態的行為。
(3)回滾事務用什麼語句擴展閱讀:
事務的特徵:
事務應該具有4個屬性:原子性、一致性、隔離性、持久性。這四個屬性通常稱為ACID特性。
1、原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。
2、一致性(consistency)。事務必須是使資料庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對並發的其他事務是隔離的,並發執行的各個事務之間不能互相干擾。
4、持久性(rability)。持久性也稱永久性(permanence),指一個事務一旦提交,它對資料庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
『肆』 關於sql中的事務回滾問題 ,就是commit 和 rollback的順序問題
begin
try
和
end
try捕獲產生的錯誤
然後在begin
catch
和
end
catch
塊中使用rollback語句讓事務回滾
你可以簡單地先寫個小例子試一下,體會下rollback的用法
比如:
begin
tran
update
table2
set
b=10,c=10
where
a=1
rollback
tran
就會發現數據沒有被更新
然後再結合begin
try
end
try
begin
catch
end
catch的用法
就能實現在事務執行過程中出錯後回滾的功能
大概的形式就是這樣:
begin
tran
begin
try
--做相關操作
--結束的時候如果沒有錯誤則用commit提交事務
commit
tran
end
try
begin
catch
--出現錯誤的時候會跳轉到這里
--用rollback回滾事務
rollback
tran
end
catch
『伍』 sql語句中用什麼語句實現事務的回滾
-開啟事務 begin tran --執行操作 update Accounts_UsersExp set TelPhone=123456 where userid=14 --執行錯誤事務回滾 rollback --如果正內確進行事容務提交 commit
『陸』 什麼是SQLSERVER事務處理和事務回滾
事務(Transaction)是訪問並可能更新資料庫中各種數據項的一個程序執行單元(unit)。事務通常由高級資料庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序的執行所引起,並用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。
當一個事務的某一個操作發生問題時,整個事務可以回滾掉,就像沒有做任何操作一樣。這就是事務回滾。
如果一個事務的所有操作均成功,則就可以提交事務,保證事務的完整性。
應用程序主要通過指定事務啟動和結束的時間來控制事務。
以MS SQL Server的Transac-SQL語言為例,
事務啟動:
BEGIN TRAN [ SACTION ] [ transaction_name | @tran_name_variable [ WITH MARK [ 'description' ] ] ]
結束事務
可以使用 COMMIT 或 ROLLBACK 語句結束事務。
1 事務的提交
BEGIN TRANSACTION T1
INSERT tabel1 ...
UPDATE table2 ...
...
/* 當所有成功操作完成,提交事務 */
COMMIT TRAN T1
2 事務的回滾
BEGIN TRANSACTION T1
INSERT tabel1 ...
...
/* 當發生錯誤或事務被取消, 回滾事務 */
ROLLBACK TRAN T1
『柒』 SQL語言中,用於事務回滾的語句是什麼
回滾要放抄在事務裡面進行,才能進行回滾;sql裡面的事務使用關鍵字TransAction
1:可以用try catch捕獲
begin try
begin tran
update table set a=1;
commit tran
end Try
begin catch
rollback tran
end catch
2:可以使用error 全局變數
begin tran
update tablename set ad=1111
if @@error<>0 begin rollback end
commit tran
注意:如果一個事務寫了 begin trans ,後面一定要跟上 commit tran或 rollback transaction ,否則可能導致被鎖
『捌』 在VC6中,使用ODBC的SQL語句操作資料庫時,如何提交和回滾事務
BEGIN
TRAN
為開始事務
COMMIT
TRAN
為提交事務
ROLLBACK
TRAN
為回滾事務
BeginTrans
啟動新的事務,之後任何改變不會立即提交
CommitTrans
保存所有更改並結束當前事務。它也可以啟動新事務。
RollbackTrans
取消當前事務中所做的任何更改並結束事務。它也可以啟動新事務。
『玖』 SQL語句如何rollback
rollback是針對事務的,你如果沒有在執行語句之前開啟事務,那麼無法rollback,建議你還是想別的辦法吧,事務語句如下(sqlserver的給你借鑒):
--開啟事務
begin tran
--執行操作
update Accounts_UsersExp set TelPhone=123456 where userid=14
--執行錯誤事務回滾
rollback
--如果正確進行事務提交
commit
可以勾選一句執行一句,但是commit了就不能rollback
『拾』 sql用於回滾和提交事務的語句分別是
rollback 回滾
commit 提交