-------------------------------------------------------事物--------------------------------------------------------------開(kāi)始事物
begin transaction
提交事物
commit transaction
回滾事物
rollback transaction
一般是用系統(tǒng)變量 獲得是否有錯(cuò)誤的存在
把@@error的值 累加到局部變量 @error里
最后判斷@error是否為0為0 表示沒(méi)有錯(cuò)誤? 可以提交事物
不為0表示有錯(cuò)誤 事物回滾
-------------------------------------------------------視圖--------------------------------------------------------------
視圖是虛擬表
我們一般只在視圖上做查詢
視圖的名稱的起法 最好是view_數(shù)據(jù)庫(kù)名_表名(或是一個(gè)使用這個(gè)視圖人的名)
視圖說(shuō)明 也是放在 本數(shù)據(jù)庫(kù)的sysObjects 里 通過(guò)name進(jìn)行查找
創(chuàng)建視圖
create view 視圖名
as
select語(yǔ)句 (可以在這里把列的名字 通過(guò)as ,=改成自己喜歡的中文)
go
刪除視圖??? drop view 視圖名
視圖里存放的是sql語(yǔ)句
使用視圖的方法 select * from 視圖名? (如果列名在上面被改了,這里查詢時(shí)候就用改了后的)
-------------------------------------------------------索引--------------------------------------------------------------
索引是sql server編排數(shù)據(jù)的內(nèi)部方法,它為sql server提供一種方法來(lái)編排查詢數(shù)據(jù)的路由
列的類型為 text,image,bit 的不能創(chuàng)建索引
查詢的時(shí)候一般不需要人工指定使用哪個(gè)索引查尋 sql會(huì)根據(jù)所創(chuàng)的索引自動(dòng)優(yōu)化
缺點(diǎn):會(huì)降低增加 ,刪除的速度,需要更多的存儲(chǔ)空間
聚集索引 clustered? Index
唯一索引 unique? Index
非聚集索引? NoNclustered? Index
創(chuàng)建了唯一約束,將會(huì)自動(dòng)創(chuàng)建唯一索引,設(shè)置為主鍵,該列就默認(rèn)為聚集索引
聚集索引一個(gè)表只能一個(gè),非聚集索引一個(gè)表可以多個(gè)