ALTER PROCEDURE dbo.ValidateUser 

(
@UserName varchar(50),
@UserPwd varchar(100)
)

AS
select count(*) from Users where UserName=@UserName and UserPwd=@UserPwd
RETURN
ALTER PROCEDURE dbo.ValidateUser 

(
UserName varchar(50),
UserPwd varchar(100)
)

AS
select count(*) from Users where UserName=@UserName and UserPwd=@UserPwd
RETURN可以向第二种方式那样写吗

解决方案 »

  1.   

    不可以,参数必须用"@"符号声明。如果你需要传入字段名,可以这样:ALTER PROCEDURE dbo.ValidateUser 
    (
        @UserName varchar(50),
        @UserPwd  varchar(100)
    )   
    AS
        exec('select count(*) from Users where UserName='+@UserName+' and UserPwd='+@UserPwd)
        RETURN
      

  2.   

    CREATE PROCEDURE (Transact-SQL)
    http://msdn2.microsoft.com/zh-cn/library/ms187926.aspx
      

  3.   

    很简单的问题,只要写过代码的都知道
    一个真实的值可以保存在变量里,这样以后可以用保存了值的变量,他代表的就是这个值
    t_sql中变量的表示方法就是"@xxxx"
    没有什么好争议的
      

  4.   

    ALTER PROCEDURE dbo.ValidateUser 
        
        (
        @UserName varchar(50),
        @UserPwd varchar(100)
        )
        
    AS只要在这个里面就有@是吗??