Tom*_*m H 4 truncate view sql-server-2008
我目前处于这样一种情况:我们正在创建一个"Facade"数据库,它基本上由一组视图组成,这些视图只是从另一个数据库中同名的表中选择.我们的想法是,可以将应用程序重新命名为facade数据库,只需对实际代码进行最少的更改.
这似乎适用于插入,更新,删除,显然选择.不幸的是,一些存储过程在某些地方使用TRUNCATE TABLE.这是非常有限的,我们现在的计划是通过调用"TRUNCATE"存储过程来替换该代码,该存储过程实际上将处理幕后的表截断.在开始之前,我想看看是否有任何其他建议如何处理这个问题.
感谢您的任何建议或意见!
您的方法(使用特殊存储过程)是唯一的方法,因为TRUNCATE TABLE(Transact-SQL)仅适用于表而不是视图.我猜你有一个特定的原因(更快,使用更少的系统和事务日志资源)使用TRUNCATE over DELETE,因为你有DELETE处理视图.您可以使用DELETE触发器执行某些操作,并使用truncate检测是否正在删除所有行.我认为你使用存储过程是最简洁的方法.