Что делает символ "@" в SQL? - программирование
Подтвердить что ты не робот

Что делает символ "@" в SQL?

Я просматривал вопросы и замечал это:

SELECT prodid, issue
FROM Sales 
WHERE custid = @custid 
AND datesold = SELECT MAX(datesold) 
             FROM Sales s 
             WHERE s.prodid = Sales.prodid
                  AND s.issue = Sales.issue
                  AND s.custid = @custid

Мне было интересно, что делает "@" перед custID? Это просто способ ссылки на custID из выбранной таблицы?

4b9b3361

Ответ 1

@CustID означает, что это параметр, который вы укажете в коде позже. Это лучший способ защиты от SQL-инъекций. Создайте свой запрос с помощью параметров, а не конкатенации строк и переменных. Механизм базы данных помещает значение параметра в место, где находится местозаполнитель, и нет нулевой вероятности для SQL-инъекции.

Ответ 2

@используется как префикс, обозначающий имена хранимых процедур и функциональных параметров, а также имена переменных

Ответ 3

Итак, вы бы установили значение @custID внутри этого запроса на выбор или перед тем, как выполнить запрос?

Что-то вроде этого?

SET @custID = '1';

Ответ 4

Его параметр, который вам нужно определить. для предотвращения SQL Injection вы должны передавать все свои переменные в качестве параметров.

Ответ 5

Вы можете использовать синтаксис MySQL: Microsoft SQL @ совпадает с MySQL ?

Ответ 6

То, о чем вы говорите, это способ записи параметризованного запроса. '@' просто означает, что это параметр. Вы можете добавить значение для этого параметра во время выполнения процесса

eg:
sqlcommand cmd = new sqlcommand(query,connection);
cmd.parameters.add("@custid","1");
sqldatareader dr = cmd.executequery();

Ответ 7

publish data where stoloc = 'AB143' 
|
[select prtnum where stoloc = @stoloc]

Вот как работает @.

Ответ 8

@, а затем число - это параметры в том порядке, в котором они перечислены в функции.