刚学存储过程 ,请问 
ALTER PROCEDURE [dbo].[Cover_Procedure] 
 @TStart datetime,
AS
declare @TBegin char(10),
 
请问 在这两个不同 地方声明变量 有什么不同呢...谢谢

解决方案 »

  1.   

    前面那个@TStart 是存储过程的形式参数,要由调用过程将实参传过来的.
    后面那个@TBegin 是存储过程里自行定义的变量,与外部程序无关.
      

  2.   

    一个是参数,需要在调用存储过程时传递该参数。
    另一个是局部变量。往往在存储过程内部为了暂时保存某个数据的值。
    类似程序里面的方法,这样:
    public void 方法名称(DateTime @tStart)--这个是参数
    {
            string @tbegin;--这个是局部变量
    }