Мне нужно поместить результат запроса (извлекается один столбец и значение) в переменную. Я пытаюсь использовать курсор, однако я выбираю базу данных для запроса на основе переменной, вот мой запрос
SELECT productName, price FROM @ShopName.dbo.Products WHERE ProductName = @ProductName
Переменная @ ShopName сначала извлекается из базы данных и назначается переменной с помощью курсора . Переменная @ProductName заполняется входным параметром, поступающим из API. Мне нужно получить ProductName из указанной c базы данных (есть несколько баз данных с продуктами), но приведенный выше запрос вызывает синтаксические ошибки. Кроме того, когда я пробовал ad ho c запрос, назначенный переменной:
SET @Sql = N'SELECT productName, price FROM ' + QUOTENAME(@ShopName) + '.dbo.Products WHERE ProductName = ' + @ProductName
, он не позволяет использовать его в
DECLARE cursorT CURSOR
FOR
@Sql
Это вызывает Incorrect syntax near '@Sql', Expecting '(', SELECT, or WITH
Есть ли способ сделать возможным использование этого запроса в курсоре при использовании переменной с именем базы данных в нем?