我有一个表格,其中包含一系列代码的所有属性信息。属性代码设置为仅保存特定数据类型。这些包括存储列表中的数字,自由文本和下拉值。
我创建了一个包含所有属性代码及其允许值的表。我试图提出一个查询,根据验证表中的值验证每个代码的每个属性。
我试图远离游标,因为需要检查大量代码,而且我知道游标在大量行中执行速度不快。
您将从LIST数据类型中注意到它们具有相应的LIST_CODE并且允许LIST_VALUE。
答案 0 :(得分:1)
当我再次阅读您的问题时,您可以执行以下操作:
您只需将数据表中的列声明为int,nvarchar(300)和float。数据类型也是一个约束,SQL-Server注意只有值可以存储在数据类型允许的列中。
您可以对属性0_OR_1执行相同的操作。只需使用数据表中的数据类型位即可。如果由于任何原因无法使用bit并使用tinyint,则可以添加CHECK CONSTRAINT以仅允许值0或1:
java
为您的下拉列表使用外键约束 您可以创建ForeignKey-Constraint以仅存储下拉列表的允许值
ALTER TABLE DataTable 添加约束FK_DropDownElements 外键(DROPDOWN_ATTR) 参考ValidationTable(LIST_VALUE);