エラー「バッチ内の唯一のステートメントである必要があります。」の解決方法です。
エラーの発生例
次のSQLは、1行目 と 4 行目 で エラー「構文が正しくありません: 'CREATE VIEW'がバッチ内の唯一のステートメントである必要があります。」が発生します。CREATE VIEW [VIEW_TestTable1] AS
SELECT * FROM TestTable;
CREATE VIEW [VIEW_TestTable2] AS
SELECT * FROM TestTable;

解決方法
CREATE VIEW のあとに GO を追加し、バッチの終了位置を明示します。CREATE VIEW [VIEW_TestTable1] AS
SELECT * FROM TestTable;
GO
CREATE VIEW [VIEW_TestTable2] AS
SELECT * FROM TestTable;
GO
CREATE VIEW の前にも処理がある場合、CREATE VIEW の 前行にも GO を追加します。
何かの処理
GO
CREATE VIEW [VIEW_TestTable1] AS
SELECT * FROM TestTable;
GO
CREATE VIEW [VIEW_TestTable2] AS
SELECT * FROM TestTable;
GO
検証環境
- Microsoft SQL Server 2019 (RTM-CU8) (KB4577194) - 15.0.4073.23 (X64) Sep 23 2020 16:03:08 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Linux (Ubuntu 16.04.7 LTS) <X64>
- Docker image: mcr.microsoft.com/mssql/server:2019-CU8-ubuntu-16.04
- Docker Desktop 3.3.0(62916)
- Docker Engine 20.10.5
- Microsoft SQL Server Management Studio v18.8(15.0.18369.0)
- Microsoft Windows 10 Pro Version 20H2 OS Build 19042.906 Experience: Windows Feature Experience Pack 120.2212.551.0