Home > Software engineering >  SQL Server error - The SET SHOWPLAN statements must be the only statements in the batch
SQL Server error - The SET SHOWPLAN statements must be the only statements in the batch

Time:10-21

I am trying to generate a showplan table in SQL Server. I am getting this error when I try to do this

Msg 1067, Level 15, State 1, Line 0
The SET SHOWPLAN statements must be the only statements in the batch.

I tried on a simple query and the error still appear

Use Warehouse
SET SHOWPLAN_ALL ON;
GO

SELECT * FROM [Warehouse].[dbo].[Client]
GO

SET SHOWPLAN OFF;
GO

What exactly does the error mean by only statements in the batch? Removing the GO did not resolve the issue too (I thought GO created "batches"). Could this be due to SQL server rights?

CodePudding user response:

In SSMS (and a few other client tools), GO is used as a batch separator (though it is commonly mistaken for a T-SQL keyword).

The error message means what it says: that particular SET statement has to be in its own batch (so not mixed with any other statements).

So:

Use Warehouse;
GO -- this ends the batch

SET SHOWPLAN_ALL ON;
GO -- this ends the batch

...
  • Related