使用存储过程在SQL Server中截断多个表

时间:2016-05-28 18:27:32

标签: sql sql-server ssms

我正在使用SQL Server。我想创建一个存储过程来截断我的3个表(dbo.table1dbo.table2dbo.table3)。

我希望以这种方式清除所有表格。我错过了什么?

  CREATE PROCEDURE truncate_tables()
  AS
        truncate table dbo.table1
        truncate table dbo.table2
        truncate table dbo.table3

2 个答案:

答案 0 :(得分:7)

删除存储过程名称旁边的()。如果要将任何参数传递给SP,则需要()

在每个;语句的末尾添加TRUNCATE TABLE作为查询终止符。

CREATE PROCEDURE truncate_tables
AS
    TRUNCATE TABLE dbo.table1;
    TRUNCATE TABLE dbo.table2;
    TRUNCATE TABLE dbo.table3;

答案 1 :(得分:1)

您遗失了BEGINEND以及分号:

CREATE PROCEDURE truncate_tables AS
BEGIN
      truncate table dbo.table1;
      truncate table dbo.table2;
      truncate table dbo.table3;
END;