国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

T-SQL入攻略之獲取DML,語(yǔ)句的影響信息

2019-11-02 14:26:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

   首先把上節(jié)沒(méi)講完的講完:

  多列更新

  UPDATE testbook

  SET price = price * 0.3,--打折

  remark = '過(guò)時(shí)圖書(shū)' --備注

  WHERE date<='2000-01-01';

  大容量數(shù)據(jù)更新

  GO

  UPDATE file_table

  SET FileName='Img100.jpg',

  DOCUMENT=(

  SELECT *

  FROM OPENROWSET(BULK 'C:/Img100.jpg', SINGLE_BLOB) AS Document

  )

  WHERE FileType='.jpg';

  刪除數(shù)據(jù)

  (1) 刪除部分?jǐn)?shù)據(jù)

  DELETE FROM book2 -- 刪除部分?jǐn)?shù)據(jù)

  WHERE DATE<'2000/1/1';

  (2) 刪除全部數(shù)據(jù)

  DELETE FROM book2 -- 刪除全部數(shù)據(jù)

  當(dāng)然也可以這樣刪除全部數(shù)據(jù)

  truncate table book2

  注:這里從效果上看truncate table 與DELETE是一樣的,都是刪除表中的所有數(shù)據(jù),但是不包括表結(jié)構(gòu)。但是他們有不同:

  (1) 執(zhí)行delete語(yǔ)句 系統(tǒng)將逐行對(duì)數(shù)據(jù)進(jìn)行刪除 并記錄日志信息。

  (2) 執(zhí)行truncate語(yǔ)句時(shí)候 系統(tǒng)將一次性刪除與表有關(guān)的所有數(shù)據(jù)頁(yè),且不記錄日志,不形成日志文件。

  基于以上亮點(diǎn)可以看出truncate table要比delete快的多,因?yàn)榍罢卟挥涗浫罩尽5沁@也說(shuō)明了truncate table語(yǔ)句刪除的數(shù)據(jù)不能用rollback語(yǔ)句來(lái)恢復(fù)。相反delete可以

  查看數(shù)據(jù)表

  SELECT a.name 字段名,

  b.name 字段類(lèi)型,

  a.max_length 字段長(zhǎng)度

  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');

  刪除數(shù)據(jù)表

  Drop table T1,T2,T3

  2005及以上版本在操縱語(yǔ)句中使用output可以獲取具體的影響信息 以下分別說(shuō)明

  Output在Insert語(yǔ)句中的應(yīng)用

  INSERT book

  OUTPUT INSERTED.*

  SELECT 106,'數(shù)字圖像處理', '宋青書(shū)', '科學(xué)出版社', '2006/7

  當(dāng)然也可以把返回的結(jié)果保存起來(lái)但是必須用表 或者表變量 不能用變量來(lái)接受 感興趣的可以試驗(yàn)下

  IF OBJECT_ID ('T2', 'U') IS NOT NULL DROP TABLE T2; --建立表結(jié)構(gòu)

  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網(wǎng)站開(kāi)發(fā)教程', '趙敏', '電子工業(yè)出版社', '2002/10/11', '200210201', 35.00, '較好'

  UNION ALL

  SELECT 105,'C++Builder程序設(shè)計(jì)', '俞蓮舟', '人民郵電出版社', '2007/1/1', '200701111', 53.00, '一般'

  Output在delete語(yǔ)句中的應(yīng)用

  DELETE FROM book

  OUTPUT DELETED.*

  WHERE bkno=104;

  Output在update語(yǔ)句中的應(yīng)用

  DECLARE @MyTableVar TABLE --建立表變量作用類(lèi)似表

  (

  preprice numeric(10,2),

  posprice numeric(10,2)

  )

  UPDATE book

  SET price = price*1.3

  OUTPUT DELETED.price,

  INSERTED.price

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 晋中市| 孟村| 会昌县| 水富县| 石门县| 铜陵市| 南昌县| 岗巴县| 忻州市| 武城县| 安阳县| 曲水县| 锡林郭勒盟| 垣曲县| 阜阳市| 曲水县| 伽师县| 凤冈县| 五常市| 中卫市| 定州市| 奇台县| 易门县| 清涧县| 岑溪市| 榆林市| 九江县| 镶黄旗| 泽普县| 达州市| 凉山| 伊春市| 禄劝| 井陉县| 古田县| 伊通| 大同市| 双鸭山市| 桐庐县| 孟津县| 思茅市|