insert into [U_Tab]([dwmc],[ztmc],[czsj],[tabmc],[szzt],[qdzt]) values('公路局','select khzt from ['+@TableNameKhzt+']',GetDate(),@XmgzTableName,'0','0')中间的select khzt from ['+@TableNameKhzt+']  执行报错!我想在U_TAB表中插入一条记录 他的ZTMC字段是从@TableNameKhzt表中读出来的khzt字段的值!忘高手指教

解决方案 »

  1.   

    insert into [U_Tab]([dwmc],[ztmc],[czsj],[tabmc],[szzt],[qdzt]) 
       select '公路局', khzt , GetDate(),@XmgzTableName,'0','0'
       from ['+@TableNameKhzt+']'
      

  2.   

    还是动态sql呀
    那要注意引号了。
      

  3.   

    try:
    insert into [U_Tab]([dwmc],[ztmc],[czsj],[tabmc],[szzt],[qdzt]) 
    select '公路局', GetDate(),''+@XmgzTableName+'','0','0', khzt from ['+@TableNameKhzt+']'
      

  4.   

    declare @csql varchar(500)
    select @csql = ' insert into [U_Tab]([dwmc],[ztmc],[czsj],[tabmc],[szzt],[qdzt]) 
       select ''公路局'', khzt , GetDate(),''' + @XmgzTableName + ' ,''0'',''0''
       from [' + @TableNameKhzt+ '] ' exec(@csql)
      

  5.   

    insert into [U_Tab]([dwmc],[ztmc],[czsj],[tabmc],[szzt],[qdzt]) 
       select '之前有闭合的引号  ??出现这个错误
      

  6.   

    declare @csql varchar(500)
    select @csql = ' insert into [U_Tab]([dwmc],[ztmc],[czsj],[tabmc],[szzt],[qdzt]) 
       select ''公路局'', khzt , GetDate(),''' + @XmgzTableName + ''' ,''0'',''0''
       from [' + @TableNameKhzt+ '] ' exec(@csql)
    ''' + @XmgzTableName + ''' 这里错了。sorry
      

  7.   

    服务器: 消息 208,级别 16,状态 1,行 1
    [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'U20041214164752glj08230025山东省交通厅2004年度考核' 无效。@RETURN_VALUE = N/A我用查询分析器调试出现这个错误!  是什么原因呀!正常表名应该是'U20041214164752glj08230025山东省交通厅2004年度考核_khnr他后面的_khnr没有了! 不知道是什么原因!
      

  8.   

    你是declare @XmgzTableName varchar(50)吧?
    varchar(50)不够吧,用varchar(100)。
      

  9.   

    Exec('insert into [U_Tab](
               [dwmc],
               [ztmc],
               [czsj],
               [tabmc],
               [szzt],
               [qdzt]) 
        Select ''公路局'', 
               [khzt], 
               GetDate(),
               ''' + @XmgzTableName + ''',
               ''0'',
               ''0''
        From [' + @TableNameKhzt+ ']')