ALTER Procedure [dbo].[SP_WeekLession] @WeekId char(2),@Week1 char(500) Output,
@Week2 char(500) Output,@Week3 char(500) Output,@Week4 char(500) Output,@Week5 char(500) Output,
@Week6 char(500) Output,@Week7 char(500) Output
as         Set @Week1= where EXISTS (select C.ClassName,L.CourseName,L.TeacherName
from LessionT L,ClassT C
where WeekId=@WeekId and L.ClassId=C.ClassId and L.ClassId2=C.ClassId)我要定义的这个Week1 接收三个返回能这样写吗。现在这样写说WHERE附近有语法错误。求正解啊,能给出代码最好

解决方案 »

  1.   

    用字符类型串接起来输出呀
    另外你的语法有问题 set不是这样用的,这里赋值用select
      

  2.   

    Set @Week1= where EXISTS (select C.ClassName + ',' + L.CourseName + ',' + L.TeacherName as outputPara  from LessionT L,ClassT C
        where WeekId=@WeekId and L.ClassId=C.ClassId and L.ClassId2=C.ClassId)
      

  3.   

    这是查询sql 2000自带库PUBS中authors,discounts,employee这三个表的数量.
    create procedure my_proc @str varchar(20) OUTPUT
    as
    begin
      declare @i1 as int
      declare @i2 as int
      declare @i3 as int
      select @i1 = count(1) from authors
      select @i2 = count(1) from discounts
      select @i3 = count(1) from employee
      set @str = ltrim(@i1) + '.' + ltrim(@i2) + '.' + ltrim(@i3)
    end
    godeclare @str as varchar(20)
    exec my_proc @str OUTPUTselect @str/*
                         
    -------------------- 
    23.3.43(所影响的行数为 1 行)
    */select parsename(@str,3) authors,
           parsename(@str,2) discounts,
           parsename(@str,1) employee
    /*
    authors                                                                                                                          discounts                                                                                                                        employee                                                                                                                         
    -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- 
    23                                                                                                                               3                                                                                                                                43(所影响的行数为 1 行)*/drop proc my_proc
      

  4.   


    用了SELECT 还是说 WHERE地方有语法错误 是什么问题呢