菜鸟函数问题
CREATE   FUNCTION   dbo.GetSreachSql(@city   int,@industry   int,@position   int   ,@jobtype   int,@releasetime   datetime,@KEYWORD   varchar(50)) 
 returns   table 
 AS 
 BEGIN 
 	DECLARE   @sql   varchar(1000) 
 	set   @sql   = '   SELECT   J.[ID],J.[Name],Enterprise.Mail,J.EnterpriseID,   Enterprise.[Name]   AS   EnterpriseName,Enterprise.[Intro]   AS   EnterpriseInfo,EnterpriseType.[Name]   AS   Type,   J.Salary,OtherLanguage,TimeLimit,J.Degree,   [PubDate],[Amount],[Description],Enterprise.Scale,   City.[Name]   AS   Address,   J.Experience,J.AgeRequest,J.Status   FROM   JOB   AS   J   ,Enterprise,EnterpriseType,City   WHERE   J.EnterpriseID=Enterprise.[ID]   AND   Enterprise.TypeID=EnterpriseType.ID   AND   Enterprise.Mail <>  ' '   AND   City.ID   IN   (   SELECT   [CityID]   FROM   JobCity   WHERE   JobID   =   J.ID   )    ';   
 	set   @sql   =      @sql   +    'and   City.ID= '+@city 
 	set   @sql   =      @sql   +       'and   Enterprise.ID   in   (SELECT   EnterpriseID   FROM   EnterpriseIndustry   WHERE   IndustryID   =    '+@industry+ ') ' 
 	set   @sql   =      @sql   +       'and   J.id   in   (select   jobid   from   jobjobclass   where   jobclassid   in   ( '   +   @position   + ')) ' 
 	if(@jobtype <>  ' ') 
 		set   @sql   =      @sql   +    'and   J.TypeID      in   (    '+   @jobtype   + '   )    ' 
 	set   @sql   =      @sql   +    '   and   J.PubDate   >    dateadd(dd,- '+@releasetime+ '   ,getdate())   and   J.PubDate    <   getdate() '    
 	set   @sql   =      @sql   +       'and   J.Name   like    '% ' '   +   @KEYWORD   +    ' '% '    ' 
 	return   exec(@sql) 
 END   
 这个函数总是提示   
 消息   102,级别   15,状态   31,过程   GetSreachSql,第   17   行 
  'BEGIN '   附近有语法错误。   
 请问改怎么改一下,就想返回一个表     
------解决方案--------------------函數中,不能使用動態SQL語句,改用存儲過程吧。