>1、何为单行语句的选项表
   不知道你的书是怎么表述的,但意思是只返回一行的语句,主键或者唯一索引CustId保证只返回一行。
>2、为什么可以避免相同的查询重复多次
   不清楚为什么会有这一问。
>3、大家可以看到这个存储过程有三个参数,其中两个是output,
>   小弟是初学者,不知调用这个存储过程的时候可以提供几个初值,
>   output型的可以提供初值么。
   调用方式可以:
   declare @Name Varchar(30), @Discount dec(5,3)
   exec GetCustNameAndDiscount 1,@Name output, @Discount output
   或者
   declare @Name Varchar(30), @Discount dec(5,3)
   declare @custid int
   set @custid=1
   exec GetCustNameAndDiscount @custid,@Name output, @Discount output
>4、@name=name @discout=discount,看样子是把name赋给@name 
>   但在select语句中怎样理解。name的初值又从哪里来呢。
   select 也可以赋值。