如何删除和动态创建指标约束

时间:2019-02-01 12:14:30

标签: sql sql-server

我与具有大量的表的数据库。这些表没有PK约束,但是每个表都有一个列候选对象作为PK列(根据业务逻辑,其值是唯一的)。要做到更复杂的任务,我需要编写一个脚本来PK限制适用于每个表。

我遇到了一些困难:

  • 列候选人支持NULL值(PK不能为NULL)
  • 要这样列转换为NOT NULL列,我需要删除并影响该列重新创建索引
  • 索引列表仅适用于数据库的库存版本,最终用户可以对其进行修改

我的每张桌子的算法如下:

  1. 下降索引影响列
  2. 转换列NOT NULL
  3. 应用PK约束
  4. 恢复索引

还有其他方法可以做到吗?我的问题是,如果在编写脚本时不知道索引的全部列表,该如何动态删除和恢复索引?

感谢您的帮助。

0 个答案:

没有答案