当修改数据库的时候,如果需要修改一个not null栏位时,由于SQL SERVER自动生成的 Constraints  导致不能Alter
需要先Drop掉这个 Constraints 才可以进行。
   关键问题在于 Constraints 是随机生成的,我们无法得到它的名称,不能直接drop。
   该script就是用来解决这个问题的。
   只要修改相应的值就好了

 1如何修改一个NOT NULL 栏位Declare @name nvarchar(128)
 2如何修改一个NOT NULL 栏位Declare @tableName nvarchar(128
)
 3如何修改一个NOT NULL 栏位Declare @columnName nvarchar(128
)
 4如何修改一个NOT NULL 栏位Declare @statement nvarchar(4000
)
 5如何修改一个NOT NULL 栏位Set @tableName = ''

 6如何修改一个NOT NULL 栏位Set @columnName = ''
 7如何修改一个NOT NULL 栏位Select @name = [name] From sysobjects Left Join sysconstraints on constid = sysobjects.id 
 8如何修改一个NOT NULL 栏位 Where xtype = 'D' And  parent_obj = object_id(@tableName
)
 9如何修改一个NOT NULL 栏位 And col_name(parent_obj,colid) = @columnName

10如何修改一个NOT NULL 栏位
11如何修改一个NOT NULL 栏位if @name > ''

12如何修改一个NOT NULL 栏位 begin
13如何修改一个NOT NULL 栏位  set @statement = 'Alter Table ' + @tableName + ' Drop Constraint ' + @name
14如何修改一个NOT NULL 栏位    +';Alter Table '+ @tableName + '
15如何修改一个NOT NULL 栏位     Alter Column '+ @columnName + ' char(5) NOT NULL;'
16如何修改一个NOT NULL 栏位  --Select @statement
17如何修改一个NOT NULL 栏位  exec sp_executesql @statement
18如何修改一个NOT NULL 栏位 end 
19如何修改一个NOT NULL 栏位GO

20如何修改一个NOT NULL 栏位

相关文章:

  • 2022-12-23
  • 2021-04-16
  • 2021-07-24
  • 2022-02-04
  • 2022-02-05
  • 2021-05-16
  • 2021-11-30
  • 2021-05-28
猜你喜欢
  • 2021-07-29
  • 2022-12-23
  • 2021-04-17
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案