-- 如果向变量表 插入数据的表是一个字符串形式,怎么办?declare @myTable TABLE(ArticleId int)
declare @t varchar(1000)
set @t = 'select top 10 * from article'
insert into @myTable select ArticleId from @t
 错!

解决方案 »

  1.   

    declare @myTable TABLE(ArticleId int)
    declare @t varchar(1000)
    set @t = 'select top 10 * from article'
    insert into @myTable exec(@t)
      

  2.   

    楼上的,你的方法错误
    服务器: 消息 197,级别 15,状态 1,行 12
    无法在向表插入变量时将 EXECUTE 用作源。
      

  3.   

    原来是美丽的于娜小姐,失敬失敬!
    歹势啊!俺用的是Sql2005,以上语句执行没问题,如果要在Sql2000中运行我还没地方测试了
      

  4.   

    要实现动态插入,必须生成动态查询语句
    但表变量不支持
    insert into ...exec ()的语句
    建议不用表变量而改用临时表
    改为
    create TABLE #myTable(ArticleId int)
    declare @t varchar(1000)
    set @t = 'select top 10 articlid from article'
    insert into #myTable exec(@t)
    用完#mytable后

    drop table #mytable