使用存储过程截断 SQL 服务器中的多个表

Truncate multiple tables in SQL Server using stored procedure

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

我想用这种方式清除我所有的表。我错过了什么?

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

您缺少 BEGINEND 以及分号:

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

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

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

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