gpt4 book ai didi

sql-server-2008 - 截断 View 中的基础表

转载 作者:行者123 更新时间:2023-12-04 07:04:42 26 4
gpt4 key购买 nike

我目前处于一种情况,我们正在创建一个“facade”数据库,该数据库基本上由一组 View 组成,而这些 View 只是从另一个数据库中同名表中选择的。这样的想法是,只需对实际代码进行最小的更改,就可以将应用程序重新指向Facade数据库。

对于插入,更新,删除以及显然选择,这似乎可以正常工作。不幸的是,某些存储过程在某些地方使用了TRUNCATE TABLE。这是非常有限的,我们现在的计划是仅使用对“TRUNCATE”存储过程的调用来替换该代码,该存储过程实际上将处理后台的表截断。在继续之前,我想看看是否还有其他建议可以解决这个问题。

感谢您的任何建议或意见!

最佳答案

您的方法(使用特殊的存储过程)是唯一的方法,因为TRUNCATE TABLE (Transact-SQL)仅适用于表,而不适用于 View 。我猜您有一个特定的原因(更快,并且使用更少的系统和事务日志资源)来使用TRUNCATE over DELETE,因为您需要在 View 上使用DELETE。您也许可以使用DELETE触发器来执行某些操作,并使用截断来检测是否删除了所有行。我认为您使用存储过程的方法是最干净的方法。

关于sql-server-2008 - 截断 View 中的基础表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2898051/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com