表:dept 
d_id int 主键,自增
d_pit int  默认0
d_name varchar(50)创建存储过程:通过单位id,得到该对应的单位名称
create proc dbo.search_dept
 @did int ,
 @deptname varchar(50) output
as
 select @deptname=d_name from dept where d_id=@did在sql查询分析器中执行
declare @d_name varchar(50)
exec search_dept 2,@d_name 但是没有显示结果,我想显示d_id=2对应的单位名称(d_name)
谢谢

解决方案 »

  1.   

    create proc StuName_Proc(
    @StuId int,--学生id
    @StuName varchar(50) output  --学生名称
    )
    as
    select @StuName = StuName from StuInfo si where si.StuId = @StuId
    执行
    declare @StuName varchar(50)
    exec StuName_Proc 1,@StuName output
    select @StuName
      

  2.   

    CREATE PROCEDURE dbo.search_dept 
    (
    @did int, 
    @deptname varchar(50) output
    )
    AS 
    select @deptname=d_name from dept where d_id=@did declare @d_name varchar(50) 
    exec search_dept 2,@d_name  OUTPUTSELECT @d_name
      

  3.   

    要查询才会打印出来 SELECT @d_name 
      

  4.   


    CREATE TABLE DETP(D_ID INT IDENTITY(1,1),D_PIT INT  DEFAULT 0,D_NAME CHAR(50))
    INSERT DETP VALUES( DEFAULT, 'ADSIUYA' )
    INSERT DETP VALUES( DEFAULT, 'GFYTRYF' )
    INSERT DETP VALUES( DEFAULT, 'ADFDSSA' )
    INSERT DETP VALUES( DEFAULT, 'ADFDSSA' )
    INSERT DETP VALUES( DEFAULT, 'AJHGDSA' )
    INSERT DETP VALUES( DEFAULT, 'ADFDSTE' )
    SELECT * FROM DETPALTER proc dbo.search_dept (@did int , @deptname varchar(50) OUTPUT )
    as 
    select @deptname=d_name from DETP where d_id=@did GODECLARE @VAR VARCHAR(50)EXEC dbo.search_dept @did=3,@deptname=@VAR OUTPUT
    SELECT @VAR
    DROP TABLE DETPADFDSSA