久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

TSQL BINARY_CHECKSUM 作為默認值

TSQL BINARY_CHECKSUM as a default value(TSQL BINARY_CHECKSUM 作為默認值)
本文介紹了TSQL BINARY_CHECKSUM 作為默認值的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

表中有一個列,它應該存儲列列表的校驗和,但我想將其創建為該表的默認值:

There is a column in a table, which should store Checksum for list of columns, but I'd like to create it as a default value for this table:

CREATE TABLE tblVitalyTest (id BIGINT IDENTITY(1,1), startTime DATETIME, value1 INT, value2 INT, value3 INT, value4 DATETIME, BinCheckSum BIGINT)
GO
ALTER TABLE tblVitalyTest ADD  DEFAULT (BINARY_CHECKSUM(value1, value2, value3, value4)) FOR [BinCheckSum]
GO

所以,應該這樣使用:

INSERT INTO tblVitalyTest (startTime,value1,value2,value3,value4) VALUES ('2015-05-25',1,1,1,'2015-11-11')

結果應該是這樣的:

id、startTime、value1、value2、value3、value4、BinCheckSum

id, startTime, value1, value2, value3, value4, BinCheckSum

1, "2015-05-25", 1, 1, 1, "2015-11-11", 46173

1, "2015-05-25", 1, 1, 1, "2015-11-11", 46173

但不幸的是,表默認"表創建失敗.

But table "default" table creation fails unfortunately.

有一個查詢可以玩:

DECLARE @a TABLE (id BIGINT IDENTITY(1,1), startTime DATETIME, value1 INT, value2 INT, value3 INT, value4 DATETIME)

INSERT INTO @a (startTime,value1,value2,value3,value4) 
    VALUES ('2015-05-25 08:00',1,1,1,'2015-11-11'),('2015-05-25 09:00',1,2,1,'2015-11-11')
          ,('2015-05-25 10:00',null,null,null,'2015-11-11'),('2015-05-25 11:00',2,1,1,'2015-11-11'),('2015-05-25 11:00',null,null,null,'2015-11-12')

SELECT a.*,BINARY_CHECKSUM(a.value1,a.value2,a.value3,a.value4) [BinCheckSum]
FROM @a a

請告訴我有沒有辦法創建一個 Binary_Checksum 作為列的默認值?

Please let me know is there any way to create a Binary_Checksum as a default value for the column?

推薦答案

基本上你不能.但是你可以用觸發器做類似的事情.見下文

Basically you can't. But you can do something similar with a trigger. See below

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE TRIGGER dbo.tblVitalyTestUpdateInsertTrigger ON dbo.tblVitalyTest
  AFTER INSERT, UPDATE
AS
  BEGIN

    SET NOCOUNT ON;
    UPDATE
      vt
    SET
      vt.BinCheckSum = BINARY_CHECKSUM(vt.value1, vt.value2, vt.value3,
                                       vt.value4)
    FROM
      dbo.tblVitalyTest vt
      INNER JOIN INSERTED i
        ON vt.id = i.id

  END
GO

這篇關于TSQL BINARY_CHECKSUM 作為默認值的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 欧美video | 日韩一区二区三区在线观看 | 九九亚洲精品 | 亚洲视频在线免费 | 欧美乱码精品一区二区三区 | 一区二区三区 在线 | 色资源在线视频 | 久久精品小视频 | 精品欧美黑人一区二区三区 | 久草在线视频中文 | 久久久国产一区 | h视频在线免费观看 | 精品免费国产视频 | 国产精品96久久久久久 | 羞羞网站在线观看 | 久久精品免费 | av不卡一区| 中文字幕精品一区二区三区精品 | 欧美精品第三页 | 成人精品免费视频 | 99精品在线 | 久久久高清| 一区二区免费视频 | 成人免费网视频 | 亚洲高清视频在线观看 | 国产人成精品一区二区三 | 免费观看www | 久久久久久亚洲国产精品 | 国产精品免费av | 亚洲精品视频在线观看免费 | 久久精品国产v日韩v亚洲 | 久久亚洲国产 | 韩国av电影网 | 香蕉国产在线视频 | 久久婷婷国产 | 亚洲国产高清在线观看 | 午夜在线影院 | 在线观看中文字幕av | 户外露出一区二区三区 | 精品1区| 麻豆精品一区二区三区在线观看 |