我正在浏览这些问题并注意到这一点:
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的方法吗?
@CustID表示它是一个参数,您将在以后的代码中提供值.这是防止SQL注入的最佳方法.使用参数创建查询,而不是连接字符串和变量.数据库引擎将参数值放入占位符所在的位置,并且SQL注入的可能性为零.
@用作表示存储过程和函数参数名称的前缀,以及变量名称