我要写这样一个存储过程
Create procedure [dbo].[BJFL] 
 @ItemCode nvarchar(10) output
,@BJCXZ nvarchar(10)
As
declare @mid nvarchar(2)
begin
if @BJCXZ='陆逊'
begin
set @mid='YQ'
end 
else if @BJCXZ='关羽'
begin
set @mid='BD'
end  select @ItemCode=@ItemCode+@mid
end 
我写好了,但是我不清楚怎么调用,比如我要用一个变量接受他
declare @name 
select @name= exec BJFL 'B1','关羽'
语法错误
怎么获得它的返回值?

解决方案 »

  1.   

    declare @name nvarchar(10)
    set @name = 'B1'
    exec BJFL @name output,'关羽' 
    select @name
      

  2.   


    declare @name varchar(50)
    set @name='B1'
    exec BJFL @name,'关羽' 
    select @name
      

  3.   

    Create procedure [dbo].[BJFL] 
    @ItemCode nvarchar(10) output 
    ,@BJCXZ nvarchar(10) 
    As 
    declare @mid nvarchar(2) 
    begin 
    if @BJCXZ='陆逊' 
    begin 
    set @mid='YQ' 
    end 
    else if @BJCXZ='关羽' 
    begin 
    set @mid='BD' 
    end select @ItemCode=@ItemCode+@mid 
    end go
    declare @name nvarchar(10) 
    set @name = 'B1' 
    exec BJFL @name output,'关羽' 
    select @name
    /*
    ---------- 
    B1BD(所影响的行数为 1 行)*/
    drop proc BJFL
      

  4.   


    declare @name varchar(50)
    set @name='B1'
    exec BJFL @name,'关羽' 
    select @name--------------
    少了output..