simonchri 发表于 2011-11-17 22:43

如何找到某一列的约束

要向数据库中追加非空不带默认值的一列,目前想到的有两种方法:
1、新增加列,null。然后更新数据为默认值,再改为not null的
2、新增加带默认值的列,not null,然后把这一列的默认约束去掉。

其中方法2在sqlserver下是OK的,语句如下selectname fromsysobjects wherextype = 'D' and parent_obj = object_id(@tbl_name)但sybase下没有parent_obj 这一列,不知道有没有其他方法获取?这样是否可行select @tblname = @tblname+'%'
select* fromsysobjects wheretype = 'D' and name like @tblname

simonchri 发表于 2011-11-17 22:56

刚才搜了下 这样可行 应该没问题吧SELECT b.name FROM syscolumns a,sysobjects b WHERE a.id=object_id(@tblname) AND b.id=a.cdefaultAND b.type = 'D'
页: [1]
查看完整版本: 如何找到某一列的约束