如何在表中为sybase编写约束以拒绝所有空字符串更新和插入?

时间:2018-12-04 12:47:18

标签: constraints sybase

我试图编写一个约束以停止添加或更新具有空字符串的任何列的值。 我只能想到这样做 创建表test_table (mystring1 varchar(10)null,   mystring2 varchar(10)null,   约束no_empty_string_constraint   检查(mystring1 <>“”或mystring2 <>“”))

是否有更聪明的方法来做到这一点?表示所有类型为varchar <>“”的列?

1 个答案:

答案 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'))

然后您应该可以将其包含在约束中。