dbo.SF_GetPurviewByViewName( '61' , 'BU_vPo' ) 是一自定义函数,根据参数值,查出权限组合条件
drop function SF_GetPurviewByViewName
go
create function SF_GetPurviewByViewName(@empID varchar(20),@ViewName varchar(20))
returns varchar(500)
as
  begin----1
declare @Purview varchar(500)
        set @Purview=' and 1=1 '
        return @Purview
      
  end -----1
我现在需要在一查询语句加上权限组合条件,我的写法如下:SELECT Count(FId) AS countNumber FROM [dbo].[BU_vPo]   WHERE [BU_vPo].[FIdCUCustomer] =  1858   dbo.SF_GetPurviewByViewName( '61' , 'BU_vPo' ) 求一解决方案

解决方案 »

  1.   

    exec('SELECT Count(FId) AS countNumber   FROM   [dbo].[BU_vPo] WHERE   [BU_vPo].[FIdCUCustomer] = 1858 '+ dbo.SF_GetPurviewByViewName( '61'   , 'BU_vPo'   )  ) 
      

  2.   

    楼上,有语法错错误
    第 1 行: 'dbo' 附近有语法错误。
      

  3.   


    exec('SELECT Count(FId) AS countNumber 
    FROM [BU_vPo] WHERE [BU_vPo].[FIdCUCustomer] =1858 and dbo.SF_GetPurviewByViewName(''61'',''BU_vPo'')')  
      

  4.   

    1.in funtion set   @Purview='   and   1=1   ' 
    =>
    set @Purview = ''' and 1 = 1 '''2. sqldeclare @sql varchar(8000)
    set @slq = dbo.SF_GetPurviewByViewName(   '61'   ,   'BU_vPo'   ) 
    set @sql = 'SELECT   Count(FId)   AS   countNumber   FROM   [dbo].[BU_vPo]       WHERE   [BU_vPo].[FIdCUCustomer]   =     1858 ' +  @sqlexec(@sql)