【问题标题】:Truncate SQL Compact Database截断 SQL Compact 数据库
【发布时间】:2015-07-31 05:54:31
【问题描述】:

我的系统上安装了 SQL Compact 4.0,我将它与 VS2012 一起使用。在 VS2012 上,我安装了 SQL Server Compact/SQLite 工具箱扩展。

这个扩展提供了各种选项,我找不到任何截断表选项。查询truncate table tblTransaction 似乎不起作用。我尝试了delete 查询,但它没有重置起点。我可以选择使用扩展删除和重新创建表以删除内容以及重置身份列开始。

我的问题是:

有什么方法可以截断 SQL Server Compact 数据库。我有大约 数据库中有 65 个表,我需要截断整个数据库。不只是删除数据,而是重置 Auto Increment 列的起点。

【问题讨论】:

  • 当您尝试截断时,您会收到任何错误吗?您使用的凭据是否有足够的权限进行截断?
  • 其实Truncate关键字在SQL CE中是不支持的,所以报错。是的,我有管理员权限。

标签: vb.net sql-server-ce truncate


【解决方案1】:

您可以通过运行以下语句来重新设定 IDENTITY 值:

ALTER TABLE [MyTableName] ALTER COLUMN [Id] IDENTITY (1, 1)

另外我已经创建了这个功能提案,请随意投票(甚至贡献)https://sqlcetoolbox.codeplex.com/workitem/12109

【讨论】:

  • 感谢您的回答,但我不想单独更改每张桌子。另外,我阅读了一篇文章,其中指出 如果设置了身份种子,则 Alter Table 无法正常工作。
  • 链接?这是您唯一的选择,SQL Compact 没有 TRUNCATE 命令
  • [](blog.michaelhidalgo.info/2012/11/…) 请在评论中查看。有没有办法使用deletealter 命令通过计数器重置刷新数据库?
  • @Mahadev 您可以编写一个 SP 来删除和更改您的所有表...然后您只需要运行一次 SP。
  • 是的。但它可以用来一次截断所有表吗?如果是,请告诉我怎么做。
猜你喜欢
  • 2011-08-27
  • 1970-01-01
  • 2011-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-19
相关资源
最近更新 更多