資料庫三種事務

2022-08-23 03:24:08 字數 3754 閱讀 5093

1、什麼是事務?

不可分割的邏輯單元,由多個操作組成。

a.自動提交事務

b.顯示事務

c.隱式事務

--建立資料庫(倉庫)、表(貨架)、字段(商品格仔) (結構)

1

--建立表和插入測試資料

2create

database

bankdb;

3use

bankdb4​

5create

table

bank(

6 bankid int

primary

keynot

null

,7 name varchar(20) not

null

,8 accountmoney money

check(accountmoney>=1)

9)10​

11insert

into

bank

12select

1001,'

張三',500

union

13select

1002,'

李四',1500

union

14select

1003,'

王五',1000

2、資料庫的全域性變數,資料庫全域性變數和自定義變數的區別?

@@identity獲取最近自動增長的值

@@error 獲取錯誤資訊編號

--凡是系統定義的變數@@

--凡是自定義的變數都是@

3、自動提交事務

--insert

--update

--delete 班級表 和 學生表 (約束) sql server 預設的刪除中間存在約束的時候都刪除不了

4、顯示事務

--開始事務begin transaction

1

--模擬轉賬的操作23

--因為有多個操作,至少兩個 update 修改減張三的錢 update修改加李四的錢,其他還可能有系統日誌和業務日誌(裝置編號、通過哪個業務員轉,可能還有insert)45

67declare

@errornum

int=0--

定義存放錯誤的結果89

update

bank

1011

set accountmoney=accountmoney-

50012

13where bankid=

1001

and name='張三

'--索引或者欄位較小

1415

1617

18set

@errornum

=@errornum

+@@error

--如果出錯,這是@@error非零的錯誤數字

1920

update

bank

2122

set accountmoney=accountmoney+

50023

24where bankid=

1002

and name='李四

'252627

28set

@errornum

=@errornum

+@@error

--非零的錯誤數字

2930

3132

33if

@errornum

<>034

35begin

3637

rollback

transaction;38

39end

4041

else

begin

4243

commit

transaction;44

45end;46

4748

4950

--事務四種特性 --原子性、一致性、隔離性、永續性 查詢--對資料沒有更新操作

5152

commit;53

54update

bank

5556

set accountmoney=accountmoney-

50057

58where bankid=

1001

and name='張三

'--索引或者欄位較小 --獨立的

5960

6162

update

bank

6364

set accountmoney=accountmoney+

50065

66where bankid=

1002

and name='李四

'

5、隱式事務(sql server 要手動開啟,oracle預設就是隱式事務)

隱式事務,insert等之後資料是沒有持久化的,需要commit持久化,沒有commit是髒資料(存放在記憶體緩衝區)

隱式事務如果開啟,insert update delete 都不會自動持久化,需要大家手動的持久化

set implicit_transactions off 開啟隱式事務、off 關閉

select

*from

bank

rollback; --

回滾 commit; --

提交 insert

into bank values(1005,'

洪七公',500)

translate with

xenglish

arabic

hebrew

polish

bulgarian

hindi

portuguese

catalan

hmong daw

romanian

chinese simplified

hungarian

russian

chinese traditional

indonesian

slovak

czech

italian

slovenian

danish

japanese

spanish

dutch

klingon

swedish

english

korean

thai

estonian

latvian

turkish

finnish

lithuanian

ukrainian

french

malay

urdu

german

maltese

vietnamese

greek

norwegian

welsh

haitian creole

persian

translate with

copy the url below

back

embed the snippet below in your site

" readonly>

enable collaborative features and customize widget: bing webmaster portal

back

資料庫三種事務

什麼是事務 是不可分割的邏輯單元,由多個操作部分組成 select getdate 函式 1.自動提交事務 insert update delete都是自動提交事務 比如乙個學生表和班級表有外來鍵約束 只刪掉班級表的資料是執行不了的 insert into student values 張三 男 2...

資料庫三種正規化

正規化是符合某一種級別的關係模式的集合。關聯式資料庫中的關係必須 滿足一定的要求。滿足最低要求的叫第一正規化,簡稱1nf,在第一正規化基礎上進一步滿足一些要求的為第二正規化,簡稱2nf。其餘依此類推,目前有六種範 式 1nf,2nf,3nf,bcnf,4nf,5nf。1 第一正規化 1nf 在任何乙...

資料庫三種設計正規化

1 正規化定義 規範的的資料庫是需要滿足一些規範的來優化資料資料儲存方式。在關係型資料庫中這些規範就可以稱為正規化。2 第一正規化 域原子性 1nf 當關係模式r的所有屬性都不能在分解為更基本的資料單位時,稱r是滿足第一正規化的,簡記為1nf。滿足第一正規化是關係模式規範化的最低要求。3 第二正規化...