我试图编写一个约束以停止添加或更新具有空字符串的任何列的值。 我只能想到这样做 创建表test_table (mystring1 varchar(10)null, mystring2 varchar(10)null, 约束no_empty_string_constraint 检查(mystring1 <>“”或mystring2 <>“”))
是否有更聪明的方法来做到这一点?表示所有类型为varchar <>“”的列?
答案 0 :(得分:0)
char列也是如此-您可能要考虑这些。您可以从systypes中进行查找,这将为您提供该表的char / varchar列的列表:
select c.name from syscolumns c, sysobjects o where c.id = o.id and o.name = '<tablename>' and c.type in (select type from systypes t where t.name in ('char','varchar'))
然后您应该可以将其包含在约束中。