亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

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

        字號(hào):


            首先把上節(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/1', '200607100',25.00, '較差'
            當(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
            INTO @MyTableVar;