SQL Server различные типы переменных, $ и @ - PullRequest
0 голосов
/ 17 января 2019

Я не уверен в разнице между типами переменных при использовании SSMS и SQL-сервера.

:SETVAR A 7
DECLARE  @B INT
SET @B = 11;
SELECT ($(A) * @B) AS PRODUCT
  1. Когда мне следует использовать SET, а когда SETVAR?
  2. Когда я должен использовать '@', а когда '$'?
  3. Когда требуются скобки, например, $ (A) выше, а когда нет?

Это все часть запроса или есть текстовая подстановка, которая происходит перед выполнением запроса, и если да, то это из-за использования знака доллара или всегда происходит?

Короче, что происходит?

Я знаю, что могу сделать это ...

sqlcmd.exe -v A=7

или что-то вроде этого, вместо

:SETVAR A 7

Screen Capture of SQL variable use

...