我需要删除BizForm数据的子集(超过1,000条记录)。
我看到2011年12月有a DevNet article表示如果不进行某些编码,就无法批量删除商业表格。这对我来说是个问题,因为我要做的任何编码都需要将代码发布到生产中,这需要很长时间。
在对我原来的DevNet帖子的回答中,提出了一个有趣的解决方案:
有其他选择......
创建一个新的doc类型,即占位符,不包含任何数据。创建一个简单的自定义查询" TRUNCATE
&#34 ;.在页面上放置查询转发器webpart。 **非常重要**首先设置visibility = false(取消选中框),以便查询不会运行。接下来选择刚刚创建的查询。将另一个webpart(可编辑文本)添加到页面。使用最后的URL参数将其指向同一页面的链接,例如/ my-page /?isdelete = 1.
现在返回上一个webpart(查询转发器)并在visibility属性上设置一个宏。使用此宏:
{% if (QueryString.GetValue("isdelete") == "1") { return true; // run the code } else { return false; // don't run code } %}
这应该得到你正在寻找的东西,而没有任何代码背后的写作。您可能希望确保该页面上存在某种安全性。
似乎只是编写自定义SQL查询并将其放入查询转发器webpart中,然后执行该查询是一种可能的解决方案。
但是,如果是这样的话,我有什么理由不直接针对我感兴趣的BizForm表的数据库执行SQL脚本?
此方法可能导致任何依赖性或完整性问题吗?
答案 0 :(得分:1)
根据我对Bizform的经验,对数据库执行截断是清空bizform表的最快方法。 在针对数据库运行脚本之前,请确保以下内容:
截断或删除多余的数据。