Я не уверен в разнице между типами переменных при использовании SSMS и SQL-сервера.
:SETVAR A 7
DECLARE @B INT
SET @B = 11;
SELECT ($(A) * @B) AS PRODUCT
- Когда мне следует использовать SET, а когда SETVAR?
- Когда я должен использовать '@', а когда '$'?
- Когда требуются скобки, например, $ (A) выше, а когда нет?
Это все часть запроса или есть текстовая подстановка, которая происходит перед выполнением запроса, и если да, то это из-за использования знака доллара или всегда происходит?
Короче, что происходит?
Я знаю, что могу сделать это ...
sqlcmd.exe -v A=7
или что-то вроде этого, вместо
:SETVAR A 7