【发布时间】:2013-03-10 14:51:41
【问题描述】:
我尝试在网上找到答案,但找不到任何明确的解释:
存储过程中的 @ 是否服务于某种特殊目的/特别表示某些东西?我对我们何时使用它感到有些困惑,因为示例似乎在其用法上有所不同。
例如在以下示例中使用@:
DELIMITER $
DROP PROCEDURE IF EXISTS emp_count_2;
CREATE PROCEDURE emp_count_2(OUT param1 INT)
BEGIN
SELECT COUNT(*) INTO param1 FROM Employee;
END
$
DELIMITER ;
/* To invoke this procedure use the mysql command statement
CALL emp_count_2(@empCount);
SELECT @empCount;
*/
再一次,此示例中的 @ 是否有某种特殊用途,或者我们可以删除 @ 并仅使用普通变量名称吗?
**编辑:我正在使用 MySql
【问题讨论】:
-
你用的是什么数据库?
-
@GrijeshChauhan 是 @ 仅用于访问存储过程之外的 var 值吗?因为我们不在存储过程中使用@...所以@只是sql脚本语法的一部分??
-
@rrazd 好的,如果没有存储变量 like here used。 ?
标签: mysql database stored-procedures