Piszę dynamiczny SQL, aby upuścić i utworzyć widok w innej bazie danych.
Więc napisałem:
set @CreateViewStatement =
'
USE ['+ @DB +'];
CREATE VIEW [dbo].[MyTable]
AS
SELECT ........something
exec (@CreateViewStatement)
Daje mi błąd:
„UTWÓRZ WIDOK” musi być pierwszą instrukcją w partii zapytania.
Jeśli usunę instrukcję USE DATABASE, będzie działać poprawnie, ale baza danych nie będzie już podawana ...
Jak mogę rozwiązać ten problem?
sql-server
sql-server-2005
dynamic-sql
King Chan
źródło
źródło
Jednym ze sposobów, które poradziłem sobie, gdy wpadłem na tę skrzynkę, jest umieszczenie instrukcji GO po użyciu.
źródło
GO
jest ogranicznikiem wsadowym w narzędziach klienta, a nie słowem kluczowym TSQL.