如何在SQL中截断表值参数(TVP)?

时间:2010-01-09 08:30:13

标签: visual-studio-2008 tsql

我想截断TVP而不是DROPPING。

当我写TRUNCATE TYPE时,它给出错误。

DROP TYPE正在运行,但我想要TRUNCATE

任何人都可以帮我解释语法吗?

谢谢

2 个答案:

答案 0 :(得分:4)

在SQL Server 2008中,表值参数在TSQL代码中是ReadOnly。

  

修改传递给的数据   存储过程或参数化   表值参数中的语句,   你必须将数据插入到   临时表或表   变量

Ref

答案 1 :(得分:1)

TVP是某个用户定义的表类型表变量。类型就像一个类,变量就像一个实例。您可以drop用户定义的表格类型,但不能将其用作TVP。

作为TVP,表变量是只读的。在其他情况下,您可以delete表变量中的所有行,但您永远不能truncate它。只能截断用户表和临时表。

您可以将TVP复制到临时表中,然后将其截断,但我不确定它会有什么用处!