--> title : t-sql
入門攻略之
14-獲取dml語句的影響資訊
--> author : wufeng4552
--> date : 2010-07-29
首先把上節沒講完的講完:
多列更新
update
testbook
setprice = price * 0.3,
--打折
remark =
'過時圖書'
--備註
where
date<=
'2000-01-01'
;大容量資料更新go
;刪除資料
(1)刪除部分資料
delete
from book2 --
刪除部分資料
where
date<
'2000/1/1'
;(2)
刪除全部資料
delete
from book2 --
刪除全部資料
當然也可以這樣刪除全部資料
truncate
table book2
注:這裡從效果上看
truncate
table
與delete是一樣的,都是刪除表中的所有資料,但是不包括表結構。但是他們有不同:
(1)執行delete語句系統將逐行對資料進行刪除並記錄日誌資訊。
(2)執行truncate語句時候系統將一次性刪除與表有關的所有資料頁,且不記錄日誌,不形成日誌檔案。
基於以上亮點可以看出truncate table要比delete快的多,因為前者不記錄日誌。但是這也說明了truncate table語句刪除的資料不能用rollback語句來恢復.相反delete可以
檢視資料表
select
a.name
欄位名, b.
name
字段型別,
a.max_length 字段長度
from
sys.all_columns
as a
join
sys.types
as b on
a.system_type_id = b.system_type_id
where
object_id
=object_id
('dbo.student'
);刪除資料表
drop
table t1,t2,t3
2005
及以上版本在操縱語句中使用output
可以獲取具體的影響資訊
以下分別說明
output
在insert
語句中的應用
insert
book
output inserted.*
select
106,
'數字影象處理','
宋青書','
科學出版社'
,'2006/7/1'
,'200607100'
,25.00,
'較差'
當然也可以把返回的結果儲存起來但是必須用表或者表變數不能用變數來接受感興趣的可以試驗下
ifobject_id
('t2'
,'u')is
notnull
drop
table t2;
--建立表結構go
create
table t2 (
bkno int
,bkname nvarchar
(50),
author nvarchar
(8));
insert
book
output inserted.bkno, inserted.bkname, inserted.author
into t2
select
104,
'jsp
**開發教程','
趙敏',
'電子工業出版社'
,'2002/10/11'
,'200210201'
, 35.00,
'較好'
union
allselect
105,
'c++builder
程式設計','
俞蓮舟','
人民郵電出版社'
,'2007/1/1'
,'200701111'
, 53.00,
'一般'
output
在delete
語句中的應用
delete
from book
output deleted.*
where
bkno=104;
output
在update
語句中的應用
declare
@mytablevar table
--建立表變數作用類似表(
preprice numeric
(10,2),
posprice numeric
(10,2))
update
book
setprice = price*1.3
output deleted.price,
inserted.price
into @mytablevar;
T SQL 入門攻略
更改資料庫名 1 alter database database name modify name new database name 2 sp renamedb olddbname,newdbname 新增資料檔案和檔案組 擴大 1 新增資料檔案 use master godeclare data...
T SQL入門攻略
t sql入門攻略之1 初識t sql t sql入門攻略之2 sql資料型別 t sql入門攻略之3 sql簡單查詢 t sql入門攻略之4 萬用字元使用 t sql入門攻略之5 t sql的變數與常量 t sql入門攻略之6 t sql運算子與流程控制 t sql入門攻略之7 常見系統函式 t ...
T SQL入門攻略之12 建立資料表
title t sql 入門攻略之12 建立資料表 author wufeng4552 date 2010 06 18 使用主鍵約束 主鍵不允許重複也不允許有空值 1單字段主鍵 if object id testtable u is notnull drop table testtable crea...