Sql server 这个程序不起作用

Sql server 这个程序不起作用,sql-server,stored-procedures,Sql Server,Stored Procedures,这个程序不起作用 ALTER PROCEDURE GETDETAIL (@AGE INT, @NAME VARCHAR(50) OUT, @CITY VARCHAR(200) OUT, @MOBILE NUMERIC(20) OUT) AS BEGIN SELECT @NAME=NAME, @CITY=CITY, @MOBILE=MOBILE FROM ONE WHERE @AGE=AGE END GO 错误: 过程或函数“GETD

这个程序不起作用

ALTER PROCEDURE GETDETAIL 
(@AGE INT, 
 @NAME VARCHAR(50) OUT, 
 @CITY VARCHAR(200) OUT, 
 @MOBILE NUMERIC(20) OUT) 
 AS BEGIN 
 SELECT @NAME=NAME,
        @CITY=CITY,
        @MOBILE=MOBILE 
 FROM ONE 
 WHERE @AGE=AGE END GO
错误:

过程或函数“GETDETAIL”需要未提供的参数“@NAME”


问题不在于程序,而在于调用。调用存储过程时,需要声明并传入所需的参数

declare  @NAME VARCHAR(50), 
         @CITY VARCHAR(200), 
         @MOBILE NUMERIC(20)

execute GETDETAIL @AGE    = 21, 
                  @NAME   = @NAME OUTPUT, 
                  @CITY   = @CITY OUTPUT, 
                  @MOBILE = @MOBILE OUTPUT

SELECT @NAME, @CITY, @MOBILE

请解释更多,然后我们可以帮助您显示您的执行代码当您得到两行相同年龄时,您预计会发生什么?