0

我收到错误“关键字 'truncate' 附近的语法不正确”。并且不确定这里的语法有什么问题,这对我来说并不明显......可能有些愚蠢但我需要另一双眼睛:

ALTER VIEW [dbo].[vw_All_Events]
AS

truncate table Event

Select [event_id]
      ,[site_id]
      ,[autogenerated]
      ,[creation_date]
      ,[last_update_date]
from Event

GO
4

4 回答 4

3

视图只允许在 之后的单个语句,AS并且它必须是数据检索(返回一个行集)。它不能是不同的类型,包括数据定义、数据修改、程序、声明或任何其他类型。

可以使用存储过程或用户定义的函数来执行这些操作(但不能在函数中执行 DDL 和 DML)。

详细地说,存储过程允许控制流语句,如 IF THEN ELSE BEGIN END WHILE RETURN。您可以使用 DML 来更新、删除和插入。您可以使用 DDL 创建和删除表和索引、添加列和约束等。您可以返回多个行集。您可以执行动态 SQL。

你想达到什么目的?

于 2012-08-17T05:16:24.257 回答
1

更好的方法是使用存储过程而不是视图。

您可以编写多个语句并获得输出。

于 2012-08-17T05:23:22.917 回答
0

您只能在视图中有选择语句。因此,“截断”是一个无效的命令。

于 2012-08-17T05:16:09.157 回答
-1

TRUNCATE不适用于视图。

看看这个链接

于 2012-08-17T05:19:21.403 回答