What does the "@" symbol do in SQL?

Sql

Sql Problem Overview


I was browsing through the questions and noticed this:

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

I was wondering what the "@" does in front of custID? Is it just a way of referencing the custID from the table being selected?

Sql Solutions


Solution 1 - Sql

The @CustID means it's a parameter that you will supply a value for later in your code. This is the best way of protecting against SQL injection. Create your query using parameters, rather than concatenating strings and variables. The database engine puts the parameter value into where the placeholder is, and there is zero chance for SQL injection.

Solution 2 - Sql

@ is used as a prefix denoting stored procedure and function parameter names, and also variable names

Solution 3 - Sql

You may be used to MySQL's syntax: Microsoft SQL @ is the same as the MySQL's ?

Solution 4 - Sql

Its a parameter the you need to define. to prevent SQL Injection you should pass all your variables in as parameters.

Solution 5 - Sql

What you are talking about is the way a parameterized query is written. '@' just signifies that it is a parameter. You can add the value for that parameter during execution process

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

Solution 6 - Sql

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

This is how the @ works.

Solution 7 - Sql

@ followed by a number is the parameters in the order they're listed in a function.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLeviView Question on Stackoverflow
Solution 1 - SqlKibbeeView Answer on Stackoverflow
Solution 2 - SqlSteven A. LoweView Answer on Stackoverflow
Solution 3 - SqlineView Answer on Stackoverflow
Solution 4 - SqlbendeweyView Answer on Stackoverflow
Solution 5 - SqlSamikshaView Answer on Stackoverflow
Solution 6 - SqlmarcView Answer on Stackoverflow
Solution 7 - SqlZeroPhaseView Answer on Stackoverflow