我有一張表,其中包含一系列代碼的所有屬性信息。一個屬性代碼被設置爲只保存某種數據類型。這些包括數字,自由文本和存儲列表中的下拉值。SQL驗證屬性 - 不同的數據類型
我創建了一個包含所有屬性代碼及其允許值的表格。我試圖想出一個基於驗證表中的值驗證每個代碼的每個屬性的查詢。
我試圖遠離遊標,因爲有大量的代碼需要檢查,我知道遊標不能快速執行大量的行。數據表的
你會從它們具有相應LIST_CODE並允許LIST_VALUE列表數據類型通知。
我有一張表,其中包含一系列代碼的所有屬性信息。一個屬性代碼被設置爲只保存某種數據類型。這些包括數字,自由文本和存儲列表中的下拉值。SQL驗證屬性 - 不同的數據類型
我創建了一個包含所有屬性代碼及其允許值的表格。我試圖想出一個基於驗證表中的值驗證每個代碼的每個屬性的查詢。
我試圖遠離遊標,因爲有大量的代碼需要檢查,我知道遊標不能快速執行大量的行。數據表的
你會從它們具有相應LIST_CODE並允許LIST_VALUE列表數據類型通知。
,而我又讀了你的問題,你可以做到以下幾點:
您simmply聲明你的數據中的列 - 表爲int,nvarchar(300)和float。數據類型也是一個約束,SQL-Server注意只有值可以存儲在數據類型允許的列中。
您可以對屬性0_OR_1執行相同操作。只需使用數據表中的數據類型位。如果你不能使用位以任何理由和使用TINYINT您可以添加一個檢查約束,只允許值0或1:
ALTER TABLE DataTable
ADD CONSTRAINT CK_allow_only_0_or_1
CHECK ([0_OR_1_ATTR] = 0 OR [0_OR_1_ATTR] = 1);
使用外鍵約束爲您的下拉 您可以創建一個ForeignKey約束存儲只允許值的下拉
ALTER TABLE數據表 ADD CONSTRAINT FK_DropDownElements 外鍵(DROPDOWN_ATTR) 參考ValidationTable(LIST_VALUE);
如何在檢查函數中使用檢查約束? – CPMunich
嗨@CPMunich。我不熟悉約束和檢查函數。你能給我提供一個基於上述數據的例子嗎? – psycho
當您在等待時,您可以嘗試使用Google搜索「SQL SERVER CHECK CONSTRAINT示例」。 –