中文字幕天天躁日日躁狠狠躁,最近中文字幕大全免费版在线,最近2019免费中文字幕视频三,亚洲精品无码你懂的,亚洲国产精品成人精品小说

  • 相關(guān)軟件
    >BINARY_CHECKSUM 創(chuàng)建者:webmaster 更新時(shí)間:2006-02-16 15:51

    返回對(duì)表中的行或表達(dá)式列表計(jì)算的二進(jìn)制校驗(yàn)值。BINARY_CHECKSUM 可用于檢測(cè)表中行的更改。



    語(yǔ)法


    BINARY_CHECKSUM ( * | expression [ ,...n ] )



    參數(shù)


    *



    指定對(duì)表中的所有列進(jìn)行計(jì)算。BINARY_CHECKSUM 在計(jì)算中忽略具有不可比數(shù)據(jù)類(lèi)型的列。不可比數(shù)據(jù)類(lèi)型是 textntext、image、cursor 以及基本類(lèi)型為前 4 個(gè)數(shù)據(jù)類(lèi)型之一的 sql_variant。



    expression



    任何類(lèi)型的表達(dá)式。BINARY_CHECKSUM 在計(jì)算中忽略具有不可比數(shù)據(jù)類(lèi)型的表達(dá)式。



    注釋


    在表中任一行上計(jì)算的 BINARY_CHECKSUM(*) 返回相同的值,只要隨后沒(méi)有修改行。BINARY_CHECKSUM(*) 將為大多數(shù)(但不是全部)行更改返回不同的值,并可用于檢測(cè)大多數(shù)行修改。



    BINARY_CHECKSUM 可應(yīng)用在表達(dá)式列表上,并為給定的列表返回相同的值。如果任意兩個(gè)表達(dá)式列表的對(duì)應(yīng)元素具有相同的類(lèi)型和字節(jié)表示法,則在這兩個(gè)列表上應(yīng)用的 BINARY_CHECKSUM 將返回相同的值。對(duì)于此定義,特定類(lèi)型的 NULL 值被認(rèn)為具有相同的字節(jié)表示法。



    BINARY_CHECKSUM 和 CHECKSUM 具有相似的功能:它們可用于計(jì)算表達(dá)式列表上的校驗(yàn)值,且表達(dá)式的順序?qū)⒂绊懡Y(jié)果值。BINARY_CHECKSUM(*) 使用的列順序是表或視圖定義中指定的列順序,包括計(jì)算列。



    CHECKSUM 和 BINARY_CHECKSUM 僅為字符串?dāng)?shù)據(jù)類(lèi)型返回不同的值,這類(lèi)字符串的區(qū)域設(shè)置可能導(dǎo)致具有不同表示法的字符串進(jìn)行等值比較。字符串?dāng)?shù)據(jù)類(lèi)型為 char、varchar、nchar、nvarcharsql_variant(如果 sql_variant 的基本類(lèi)型是字符串?dāng)?shù)據(jù)類(lèi)型)。例如,字符串"McCavity"和"Mccavity"的 BINARY_CHECKSUM 值不同。反之,在不區(qū)分大小寫(xiě)的服務(wù)器中,上述字符串的 CHECKSUM 返回相同的校驗(yàn)值。CHECKSUM 值不應(yīng)與 BINARY_CHECKSUM 值進(jìn)行比較。



    示例


    A.使用 BINARY_CHECKSUM 檢測(cè)表中一行的改變。


    本例使用 BINARY_CHECKSUM 來(lái)檢測(cè) Northwind 數(shù)據(jù)庫(kù)的 Products 表中一行的改變。



    /*Get the checksum value before the values in the specific rows (#13-15) are changed.*/
    USE   Northwind
    GO
    CREATE   TABLE TableBC (ProductID int, bchecksum int)
    INSERT   INTO TableBC
          SELECT   ProductID, BINARY_CHECKSUM(*)
          FROM     Products
    /*TableBC contains a column of 77 checksum values corresponding to each row in the Products table.*/

    --A large company bought products 13-15.
    --The new company modified the products names and unit prices.
    --Change the values of ProductsName and UnitPrice for rows 13, 14, and 15 of the Products table.*/
    UPDATE   Products
    SET   ProductName='Oishi Konbu', UnitPrice=5
    WHERE   ProductName='Konbu'

    UPDATE   Products
    SET   ProductName='Oishi Tofu', UnitPrice=20
    WHERE   ProductName='Tofu'

    UPDATE   Products
    SET   ProductName='Oishi Genen Shouyu', UnitPrice=12
    WHERE   ProductName='Genen Shouyu'

    --Determine the rows that have changed.
    SELECT   ProductID
    FROM     TableBC
    WHERE   EXISTS   (
        SELECT   ProductID
        FROM     Products
        WHERE     Products.ProductID = TableBC.ProductID
        AND   BINARY_CHECKSUM(*) <> TableBC.bchecksum)


    下面是結(jié)果集:



    ProductID
    13
    14
    15
    相關(guān)文章
    本頁(yè)查看次數(shù):