表名是动态的  如何在insert语句中拼起来 求救
insert into  FI_COLT_LIPPERVALUE_HIS_+Convert(varchar(5),@tabelindex)+ (LIPPERID,..........

解决方案 »

  1.   

    declare @tabelindex sysname 
    set @tabelindex=...
    print ('insert into  FI_COLT_LIPPERVALUE_HIS_'+Convert(varchar(5),@tabelindex)+' select .....')
      

  2.   


    @tabelindex  是传进来的参数
      

  3.   

    declare @tabelindex sysname ,@sql varchar(8000)
    set @tabelindex=...
    set @sql='insert into  FI_COLT_LIPPERVALUE_HIS_'+Convert(varchar(5),@tabelindex)+' select .....'
    exec(@sql)
      

  4.   


    exec ( 'insert into  FI_COLT_LIPPERVALUE_HIS_'+Convert(varchar(5),@tabelindex)+' (LIPPERID,CFP_SNAME,DA
    报错啊消息 156,级别 15,状态 1,过程 OPEN_TB_RETURN,第 128 行
    关键字 'Convert' 附近有语法错误。
      

  5.   

    动态的东西,都可以用字符串组合,然后用exec 存储过程来执行
      

  6.   

    让我想起之前恶心过我很长时间的“动态数据库名”
    exec('use ['+@database+']')
    是我至今头疼的杯具