如果存在可在 SQL Server 2005 和 SQL Server Compact 3.5 中使用的索引,则删除该索引的脚本

Posted

技术标签:

【中文标题】如果存在可在 SQL Server 2005 和 SQL Server Compact 3.5 中使用的索引,则删除该索引的脚本【英文标题】:Script to drop an index if it exists that works in SQL Server 2005 AND SQL Server Compact 3.5 【发布时间】:2011-02-16 18:38:45 【问题描述】:

我有一个包含相当长的升级脚本链的应用程序。该应用程序在 SQL Server 2005 中运行 - 我正在尝试对其进行升级,以便它也可以在 SQL Compact 3.5 中运行

部分脚本涉及删除旧索引(如果存在)。

我真的很想拥有一个可以同时处理这两种情况的脚本。到目前为止,我已经取得了很大的成功。但我想我在这个问题上遇到了麻烦。

有没有办法在一个脚本中做到这一点?还是我需要保留两个版本?

【问题讨论】:

【参考方案1】:

您可以在 SQL Compact 中删除索引并忽略任何错误??

【讨论】:

【参考方案2】:

Compact 是与完整版 SQL Server 完全不同的产品。如果您需要在所有平台上完全一样地工作,那么您应该使用 SQL Server Express 而不是 Compact,因为 Express 与 SQL Server 的完整版完全兼容。

如果您必须继续使用 compact,那么您将需要维护两个不同版本的脚本。

【讨论】:

以上是关于如果存在可在 SQL Server 2005 和 SQL Server Compact 3.5 中使用的索引,则删除该索引的脚本的主要内容,如果未能解决你的问题,请参考以下文章

更新 SQL Server 2005 中的表列

如何在SQL Server2005数据库中检查一个表是不是存在,如存在就删除表记录,如不存在就建表.

sqlserver2005触发器问题

sql server 2005数据库检索时,出现无法为此请求检索数据的问题

SQL Server 2005 中的原子 UPSERT

如何检查 SQL Server 2005 中是不是存在非聚集索引