Saya sedang menulis sql dinamis untuk menjatuhkan dan membuat tampilan dalam database yang berbeda.
Jadi saya menulis:
set @CreateViewStatement =
'
USE ['+ @DB +'];
CREATE VIEW [dbo].[MyTable]
AS
SELECT ........something
exec (@CreateViewStatement)
Ini memberi saya kesalahan:
'CREATE VIEW' harus menjadi pernyataan pertama dalam kumpulan permintaan.
Jika saya menghapus pernyataan DATABASE USE berfungsi dengan baik, tetapi kemudian basis data tidak menentukan lagi ....
Bagaimana saya bisa menyelesaikan masalah ini?
sql-server
sql-server-2005
dynamic-sql
Raja Chan
sumber
sumber
Salah satu cara yang saya tangani ketika mengalami kasus ini adalah menempatkan GO setelah menggunakan pernyataan.
sumber
GO
adalah pembatas batch dalam alat klien bukan kata kunci TSQL.