我想通过下面的方式传递过程参数应该怎么写?
比如我写下面一个过程
create Procedure QQ_P_SELECT
@TJ VARCHAR(200)
as
begin            
SELECT M.DEPT_NAME,T.HTH,W.NAME,X.CJWZ,B.DFID,B.BH,B.DFJE,B.XBD,B.XSYBD,B.JBD,B.JSYBD,B.QT,B.SHBJ 
FROM BM M,HT T,WLDW W,QQ_DFJLB B,QQ_DBXXB X 
WHERE M.DEPTID=T.DEPTID AND T.GHDWDM=W.CODE and T.HTH=B.HTH and B.BH=X.BH @TJ order by M.DEPT_NAME,T.HTH
end参数@TJ是where里的其它,是一个动态字符窜,例如:@TJ=' and T.HTH=xxx'或者@TJ=' and B.BM=xxx'等等应该怎么写传入的参数,我上面的写法值行不过去?

解决方案 »

  1.   

    declare @sql varchar(3000)
    set @sql='SELECT M.DEPT_NAME,T.HTH,W.NAME,X.CJWZ,B.DFID,B.BH,B.DFJE,B.XBD,B.XSYBD,B.JBD,B.JSYBD,B.QT,B.SHBJ 
    FROM BM M,HT T,WLDW W,QQ_DFJLB B,QQ_DBXXB X 
    WHERE M.DEPTID=T.DEPTID AND T.GHDWDM=W.CODE and T.HTH=B.HTH and B.BH=X.BH '+ @TJ + ' order by M.DEPT_NAME,T.HTH'
    EXEC(  @sql)
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 最新版本:20070130http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    非常感谢feiyun0112兄,您真利害