萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mssql數據庫 >> Sqlserver事務備份和還原的實例代碼(必看)

Sqlserver事務備份和還原的實例代碼(必看)

Sqlserver事務備份和還原的實例代碼(必看)

投稿:jingxian 字體:[增加 減小] 類型:轉載 時間:2017-05-28 我要評論

下面小編就為大家帶來一篇Sqlserver事務備份和還原的實例代碼(必看)。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

廢話不多說,直接上代碼

create database mydb
use mydb
go
create table account(
  id varchar(16),
  name varchar(16),
  balance float
)
go
select * from account

insert into account(id, name, balance) values('620101', 'liyong', 300)
insert into account(id, name, balance) values('620106', 'mali', 400)
--insert into account(id, name, balance) values('620009', 'chenying', 800)
insert into account(id, name, balance) values('646009', 'chenying', 800)
--delete from account where id = '620009'
go
update account set balance = balance - 1000 where id = '620101'
update account set balance = balance + 1000 where id = '620106'
--消息 547,級別 16,狀態 0,第 1 行
--UPDATE 語句與 CHECK 約束"CK_Blance"沖突。該沖突發生於數據庫"mydb",表"dbo.account", column 'balance'。
--語句已終止。

go
--alter table account
--alter COlumn balance int
go
alter table account
add constraint CK_Blance check(balance >= 0)
go
alter table account
drop constraint CK_Blance
--定一個事務
--從liyong扣錢往mali加錢
begin transaction
update account set balance = balance - 1000 where id = '620101'
if((select balance output from account where id = '620101') < 0)
begin
PRINT('余額不足!');
ROLLBACK;
end
else
begin
  update account set balance = balance + 1000 where id = '620106'
  commit;
  PRINT('轉賬成功!');
end
go
sp_help
--備份設備
sp_addumpdevice 'disk', 'xk_bak' ,'d:\xk_bak'
--備份數據庫
backup database mydb
to xk_bak
--還原數據庫
restore database mydb from disk = 'd:\xk_bak'
with replace; --覆蓋

以上這篇Sqlserver事務備份和還原的實例代碼(必看)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持 。

copyright © 萬盛學電腦網 all rights reserved