根据参数@mobile和@order来判断读取那个表的内容,并返回读取内容???
不明白楼主的所说

解决方案 »

  1.   

    如果你想读那个表的内容,直接加个flag标志来确定不就OK了么
    再用if ...else ...去判断所要执行的代码呀例如:if flag=1 
           读表1
         else if flag=2
        ....
      

  2.   

    --类似这样?
    create proecdure sp_test(@mobile varchar(20),@order int)
    as
    begin
        if @order=1
            select * from my_Article where ...
        if @order=2
            select * from my_teacher where ...
        if @order=3
            select * from my_send where mobile=@mobile ...
    end
    go
      

  3.   

    只能顶了 libin_ftsafe(子陌红尘)
      

  4.   

    首先根据@mobile来判断my_send表时候有记录,有则根据参数@mobile决定读取那一篇文章,根据@order来决定是读取my_Article表还是读取my_teacher表,没有则在my_send表插入@mobile和@order的值,然后再判断读取那个表内容.@order有字母和数字组成,例如@mobile为13612345678,@order为QC00010先判断my_send中是否mobile为13612345678的记录,有则读取my_Article表的内容,没有则在my_send表插入@mobile和@order的值然后再读取my_Article表的content的内容,
    若@mobile为13612345678,@order为QC00010k功能同上,只是读取的内容为 my_teacher表的teacher_content.表达的不太明白!见谅:)
      

  5.   

    create procedure sp_test(@mobile varchar(20),@order varchar(100))
    as
    begin
        if exists(select 1 from my_send where mobile=@mobile)
        begin
            select * from my_Article where Articleid=@order
        end
        else
        begin
            insert into my_send(mobile,Articleid) select @mobile,@order
            select teacher_content from my_teacher where Articleid=@order
        end
    end
    go
      

  6.   

    先谢谢libin_ftsafe(子陌红尘)
    create procedure sp_test(@mobile varchar(20),@order varchar(100))
    as
    begin
        if exists(select 1 from my_send where mobile=@mobile)
        begin
            select * from my_Article where Articleid=@order
        end
        else
        begin
            insert into my_send(mobile,Articleid) select @mobile,@order
            select teacher_content from my_teacher where Articleid=@order
        end
    end
    go
    这样解决不了,麻烦各位高人了!
      

  7.   

    --有什么问题?
    ----------------------------------------------------------------------------------------------------------------------
    create procedure sp_test(@mobile varchar(20),@order varchar(100))
    as
    begin
        --先判断my_send中是否存在mobile为@mobile的记录
        if exists(select 1 from my_send where mobile=@mobile)
        begin
            --存在,根据@order读取my_Article表中内容
            select * from my_Article where Articleid=@order
        end
        else
        begin
            --不存在,my_send表插入@mobile和@order的值
            insert into my_send(mobile,Articleid) select @mobile,@order
            --根据@order读取my_Article表的content的内容
            select teacher_content from my_teacher where Articleid=@order
        end
    end
    go
      

  8.   

    create procedure sp_test(@mobile varchar(20),@order varchar(100))
    as
    begin
        if exists(select 1 from my_send where mobile=@mobile)
        begin
            select * from my_Article where Articleid=@order
        end
        else
        begin
            insert into my_send(mobile,Articleid) select @mobile,@order
            if right(@order,1) = 'k'
                 select teacher_content from my_teacher where Articleid=@order
            else
                 select content from my_Article where Articleid=@order
        end
    end
    go
      

  9.   

    create procedure sp_test(@mobile varchar(20),@order varchar(100))
    as
    begin
        --先判断my_send中是否存在mobile为@mobile的记录
        if exists(select 1 from my_send where mobile=@mobile)
        begin
            --存在,根据@order读取my_Article表中内容
            select * from my_Article where Articleid=@order
        end
        else
        begin
            --不存在,my_send表插入@mobile和@order的值
            insert into my_send(mobile,Articleid) select @mobile,@order        --根据@order读取相关表信息
            if right(@order,1)='k'
                select teacher_content from my_teacher where Articleid=@order
            else
                select * from my_Article where Articleid=@order
        end
    end
    go
      

  10.   

    不明白楼主的意思。
    根据参数@mobile和@order来判断读取那个表的内容,并返回读取内容
    是否是 @mobile表示表名 @order表示字段?如果是的话,不知道这个存储过程是不是
    create procedure sp_test
      @mobile varchar(20),
      @order varchar(100)
    as
       declare @str_Sql VARCHAR(400)
       select @str_Sql  = "SELECT " + @order + " FROM " + @mobile
       SP_EXECUTESQL(@str_Sql)
     go
      

  11.   

    谢谢libin_ftsafe(子陌红尘) 
    是我弄错了!
      

  12.   

    to:jilate() 不是那样的,
    my_send表手机号、文章编、文章读取状态号和教师评语状态号,my_teacher是教师评语,my_Article是文章内容,根据@mobile和@order来读取相应的内容,是我没有表达清楚,不好意思!