What does the “@” symbol do in SQL?

前端 未结 7 2006
终归单人心
终归单人心 2020-11-28 04:16

I was browsing through the questions and noticed this:

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


        
相关标签:
7条回答
  • 2020-11-28 04:50

    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();
    
    0 讨论(0)
  • 2020-11-28 04:57

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

    0 讨论(0)
  • 2020-11-28 05:02

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

    0 讨论(0)
  • 2020-11-28 05:05
    publish data where stoloc = 'AB143' 
    |
    [select prtnum where stoloc = @stoloc]
    

    This is how the @ works.

    0 讨论(0)
  • 2020-11-28 05:06

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

    0 讨论(0)
  • 2020-11-28 05:07

    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.

    0 讨论(0)
提交回复
热议问题