更改列时快速删除并重新创建多个索引、视图、统计信息

2024-06-19

我的“项目”表中有一个“StoreNumber”列,我想将其更改为“NOT NULL”。我最近清理了所有旧数据,以便不存在空条目。但是,当我执行以下语句时,由于对各种视图、索引和统计信息的多重依赖,它失败了

ALTER TABLE [Project]
    ALTER COLUMN StoreNumber VARCHAR(9) NOT NULL
GO

删除所有这些视图/索引/统计信息然后运行 ​​alter 语句,然后再次重新创建所有视图/索引/统计信息的最快方法是什么?我知道我可以一一复制所有 drop 和 create 语句,但我更愿意在单个查询中生成脚本。

附带说明一下,为什么 SQL Server 会关心我是否使该列更具限制性?数据不包含空值,并且我不会更改数据类型或列的大小。这种类型的更改将如何破坏依赖视图、索引或统计信息?我确信我没有看到合理的推理,但我想要一个例子。


只是想;如果先设置默认值会起作用吗? (我自己没有检查语法)

ALTER TABLE Project
ADD CONSTRAINT col_sn_def
DEFAULT '' FOR StoreNumber;
GO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

更改列时快速删除并重新创建多个索引、视图、统计信息 的相关文章

随机推荐

  • tf.print() vs Python print vs tensor.eval()

    看来在Tensorflow中 至少有三种方法可以打印出张量的值 我一直在读here https www freecodecamp org news debugging tensorflow a starter e6668ce72617 an
  • (0, eval) () 的作用是什么? [复制]

    这个问题在这里已经有答案了 以下内容来自这个问题 https stackoverflow com questions 14119988 return this 0 evalthis 14120023 14120023 function q
  • 如何在 iOS 中通过 Twitter API 获取用户电子邮件地址?

    我尝试了多个 SDK 但无法从任何资源获取电子邮件 ID 我努力了FHSTwitterEngine为此目的 但我没有得到解决方案 FHSTwitterEngine twitterEngine FHSTwitterEngine sharedE
  • 从 R 中的 HTTPS 连接逐行读取

    当创建连接时open r 它允许逐行读取 这对于批量处理大数据流非常有用 例如这个脚本 https gist github com jeroenooms d33a24958d99bb969ac0通过一次读取 100 行来解析相当大的 gzi
  • 实时战略战争游戏人工智能算法

    我正在设计一款实时策略战争游戏 其中 AI 将负责控制大型六边形地图上的大量单位 可能超过 1000 个 一个单位有许多行动点 可以用于移动 攻击敌方单位或各种特殊行动 例如建造新单位 例如 一辆拥有 5 个行动点的坦克可以花费 3 个行动
  • Primefaces 进度条未更新?

    我的进度条没有更新 为什么 控制器方法被按其应有的方式调用 并且进程变量被正确递增 XHTML
  • 条件必须具有 bool 静态类型

    有什么方法可以在这种情况下使用未来的布尔值 或者有更好的方法吗 Widget buildRow String pair final Future
  • Codeigniter URL:如何在 URL 中显示 id 和文章标题

    请看下面的链接结构 http stackoverflow com questions 10672712 voting system like stackoverflow 在上面的链接中10672712我猜是问题 ID 因为如果您检查以下链接
  • Paypal IPN 发送“待处理”并以“多币种”为理由?

    我正在使用 Paypal IPN 从我的网站收款 该网站目前仅处于开发阶段 因此我建立了一个沙盒网站进行测试 并且我已经通过在英国注册的测试帐户非常成功地以英镑货币 我的居住国货币 进行付款 但是 我希望该网站能够检测访问者的原籍国并允许他
  • 停止前台运行的服务的正确方法是什么

    我正在尝试停止作为前台服务运行的服务 当前的问题是当我打电话时stopService 通知仍然保留 因此 在我的解决方案中 我添加了一个接收器 我正在将其注册到onCreate 在 的里面onReceive 我调用的方法stopforegr
  • DBpedia 数据集中的哪个 .nt 文件包含有关 DBpedia 类的三元组?

    我正在处理 DBpedia 数据集 并使用 Apache Jena 在本地 Jena TDB 数据集上执行 SPARQL 我只下载了部分文件数据库百科下载 http wiki dbpedia org Downloads38这样我就可以将数据
  • ReferenceError 和全局对象

    在浏览器中的 JavaScript 中window是全局对象 这意味着在全局范围内定义的每个变量都是window 那么为什么我会得到这个结果 console log window foo No error logs undefined co
  • UIStackView分布均匀填充

    所以 我有一个UIStackView其中包含四 4 UIViews 如果我删除其中一 1 个UIViews 其他三 3 个将填满UIStackView 我的问题 如何添加最大高度UIView这样它就不会填满整个空间UIStackView即使
  • firebase createUser 无需登录[重复]

    这个问题在这里已经有答案了 我的管理员用户可以创建其他用户 但每次创建用户时 我的管理员用户都会注销 新用户会自动登录 有什么方法可以在不登录的情况下创建用户吗 None
  • 如何使用相同的 APPLICATION_ID_CONFIG 运行两个或多个拓扑?

    我想在同一个实例上运行 2 个拓扑 1个拓扑涉及状态存储 其他涉及全局存储 我如何成功地做到这一点 我创建了 1 个具有 3 个分区的主题 然后在 1 个拓扑中添加了状态存储 在第二个拓扑中添加了全局存储 拓扑1 public void c
  • 仅在首页加载时使用 cookie 加载 colorbox

    我尝试了来自网络的参考代码 仅在页面加载时加载特定元素一次 这是示例代码
  • 纠正装饰器模式的一个大缺点

    不久前 我在重构一些游戏战斗代码时决定尝试装饰器模式 战斗者可以拥有各种被动能力 也可能是不同类型的生物 我认为装饰器可以让我在运行时以各种组合添加行为 因此我不需要数百个子类 我几乎已经完成了 15 个左右的被动能力装饰器 在测试中我发现
  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • 如何在 Bootstrap 列中使用文本溢出?

    假设我有一行具有固定高度 并且我在其列中插入了一些文本 如果太长 我希望将其剪掉 并在行尾添加三个点 如下所示 我在用着文本溢出 省略号 我的行中有此属性 但无法使其工作 JsFiddle http jsfiddle net Alexnot
  • 更改列时快速删除并重新创建多个索引、视图、统计信息

    我的 项目 表中有一个 StoreNumber 列 我想将其更改为 NOT NULL 我最近清理了所有旧数据 以便不存在空条目 但是 当我执行以下语句时 由于对各种视图 索引和统计信息的多重依赖 它失败了 ALTER TABLE Proje