Что делает символ "@" в 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 из выбранной таблицы?
Ответы
Ответ 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
@
, а затем число - это параметры в том порядке, в котором они перечислены в функции.