2016-05-28 48 views
3

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

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

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

回答

6

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

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

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

你缺少BEGINEND和分号:

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

围绕我的''''''部分'truncate_tables()'我得到一个红色的波浪线说。语法错误:期望变量。他们在说什么? – taji01

+0

@ taji01。 。 。另外,不需要空括号。 –

相关问题