把declare @sql varchar(3000) 设为varchar(8000)试试。

解决方案 »

  1.   

    --在查询分析器里这样,先print @sql看看,先不执行。 
    CREATE procedure [dbo].[Flow_Edit] 
      @WorkFlowNo varchar(50), 
      @SaveSQL varchar(3000) 
    as 
    declare @tablename varchar(15) 
    declare @sql varchar(3000) 
    set @tablename='#temp'+@WorkFlowNo 
    exec('Create Table '+@tablename+' 
      (FlowID varchar(50), 
              NodeNo varchar(50), 
              NodeName varchar(100), 
              LimitTime varchar(50), 
              procType varchar(50), 
              NextNodeID varchar(200) 
      )') 
    set @sql = 'INSERT INTO ' + @tablename +' (FlowID,NodeNo,NodeName,LimitTime,procType,NextNodeID) '+@SaveSQL 
    print @sql
    --exec @sql