最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

實例理解SQL中truncate和delete的區(qū)別

 更新時間:2016年02月16日 14:18:21   投稿:lijiao  
這篇文章主要介紹了實例理解SQL中truncate和delete的區(qū)別,truncate和delete兩者易混,本文就為大家進(jìn)行區(qū)分兩者的異同,感興趣的小伙伴們可以參考一下

本文以一個簡單實例為大家介紹了SQL中truncate和delete的區(qū)別,幫助大家理解,具體內(nèi)容如下

---創(chuàng)建表Table1
IF OBJECT_ID('Table1','U') IS NOT NULL
DROP TABLE Table1
GO
CREATE TABLE Table1
(ID INT NOT NULL,
FOID INT NOT NULL)
GO

--插入測試數(shù)據(jù)
INSERT INTO Table1
VALUES(1,101),(2,102),(3,103),(4,104)
GO

---創(chuàng)建表Table2
IF OBJECT_ID('Table2','U') IS NOT NULL
DROP TABLE Table2
GO
CREATE TABLE Table2
(
FOID INT NOT NULL)
GO
--插入測試數(shù)據(jù)
INSERT INTO Table2 VALUES(101),(102),(103),(104)
GO 
SELECT * FROM Table1
GO 
SELECT * FROM Table2
GO

在Table1表中創(chuàng)建觸發(fā)器,當(dāng)表中的數(shù)據(jù)被刪除時同時刪除Table2表中對應(yīng)的FOID

CREATE TRIGGER TG_Table1 ON Table1
AFTER DELETE
AS
BEGIN
 DELETE FROM TA FROM Table2 TA INNER JOIN deleted TB ON TA.FOID=TB.FOID 
END
GO

---測試DELETE刪除操作
DELETE FROM Table1 WHERE ID=1

GO
---執(zhí)行觸發(fā)器成功,Table2表中的FOID=101的數(shù)據(jù)也被刪除
SELECT * FROM Table1
GO
SELECT * FROM Table2

 

---測試TRUNCATE刪除操作
TRUNCATE TABLE Table1

GO
---Table2中的數(shù)據(jù)沒有被刪除
SELECT * FROM Table1
GO
SELECT * FROM Table2

 

---查看TRUNCATE和DELETE的日志記錄情況
CHECKPOINT
GO
SELECT * FROM fn_dblog(NULL,NULL)
GO
DELETE FROM Table2
WHERE FOID=102
GO
SELECT * FROM fn_dblog(NULL,NULL)

 

在第四行記錄有一個lop_delete_rows,lcx_heap的刪除操作日志記錄

----TRUNCATE日志記錄
CHECKPOINT
GO
SELECT * FROM fn_dblog(NULL,NULL)
GO
TRUNCATE TABLE Table2
GO
SELECT * FROM fn_dblog(NULL,NULL)
GO

 

 TRUNCATE操作沒有記錄刪除日志操作

主要的原因是因為TRUNCATE操作不會激活觸發(fā)器,因為TRUNCATE操作不會記錄各行的日志刪除操作,所以當(dāng)你需要刪除一張表的數(shù)據(jù)時你需要考慮是否應(yīng)該如有記錄日志刪除操作,而不是根據(jù)個人的習(xí)慣來操作。

以上就是本文的全部內(nèi)容,希望對大家區(qū)分SQL中truncate和delete的使用方法有所幫助。

相關(guān)文章

最新評論

长治县| 阜新市| 灵丘县| 应用必备| 铜陵市| 建宁县| 南丹县| 麟游县| 江华| 乃东县| 洪江市| 舞阳县| 舞阳县| 互助| 攀枝花市| 铜鼓县| 修水县| 太谷县| 金平| 诏安县| 左云县| 虹口区| 油尖旺区| 秭归县| 深圳市| 吉水县| 肥城市| 聊城市| 三都| 江陵县| 东明县| 临武县| 波密县| 泾阳县| 韩城市| 专栏| 鹤岗市| 句容市| 泗阳县| 井陉县| 峨山|