select into tablename values;建新表
select into tablename(colnames);向表中插入数据;
2。应该是
declare @string1 nvarchar(1000)
declare @tablename varchar(10)
declare @string2 nvarchar(100)
set @tablename='mytable'
set @string1='select * from '+@table
set @string2=N'@table varchar(10)'
exec sp_executesql @string1,@string2,@table=@tablename
3.select * from (select * from tablename) ????可以吗?后面的select 语句返回了多行记录。可以用游标循环。

解决方案 »

  1.   

    1。我用的是select field1,field2.... into mytable from table
    第二次写入我亥如何写?
    2。结果还是一样
    3。我能否把查询结果当一表来二次查询如何写
      

  2.   

    1.第一次你可以用select into
    如果是追加就要用insert from语法了
    比如
    INSERT INTO archivetitles 
       (title_id, title, type, pub_id)
    SELECT title_id, title, type, pub_id
    FROM titles
    WHERE (pub_id = '0766')
    2.我也找不到原因,只能是sql不支持了。呵呵
    有个替换的方法
    declare @tablename varchar(100)
    set @tablename='northwind.dbo.orders'
    exec ('select * from ' + @tablename)
    不知道能帮忙么
    :)
    3
    select * from (select * from orders) as a
    给你的子查询取个别名,所以如果有多个查询源,你就可以指定数据所作表了
      

  3.   

    2.这样改:declare @string1 nvarchar(1000)
    declare @table varchar(10)
    set @tablename='mytable'
    set @string1='select * from '+@table
    exec sp_executesql @string1
      

  4.   

    2.这样改:(上面错了!)
    declare @string1 nvarchar(1000)
    declare @table varchar(10)
    set @table='mytable'
    set @string1='select * from '+@table
    exec sp_executesql @string1