100求解:从一个数据库在中的一个表中的数据插入到另一个数据库中的一个表中
两个数据库都同一个电脑上,两个表结构也相同。
解答正确者,立即给分,在线等。

解决方案 »

  1.   

    use 一个数据库
    insert 另一个数据库.dbo.另一个表 
    select * from 一个表 orinsert 另一个数据库.dbo.另一个表 
    select * from 一个数据库.dbo.一个表 
      

  2.   

    insert into a.t select * from b.t
      

  3.   

    显示如下错误:
    服务器: 消息 8101,级别 16,状态 1,行 3
    仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'dbmain.dbo.L007' 中为标识列指定显式值。怎么解决????????
      

  4.   

    同一个数据库服务器,只要这么写就可以了
    insert into 数据库名.dbo.表名(col1,col2......)
    select col1,col2...... from 另一数据库名.dbo.表名
    列里面不要有自增字段
      

  5.   

    显示如下错误:
    服务器: 消息 8101,级别 16,状态 1,行 3
    仅当使用了列的列表,并且 IDENTITY_INSERT 为 ON 时,才能在表 'dbmain.dbo.L007' 中为标识列指定显式值。怎么解决????????因为你有自增字段,那个字段不要插入按照我写的语法格式这么插就ok了
      

  6.   

    根据提示改就好了1.
    set IDENTITY_INSERT  on
    insert...指定全部列名
    set IDENTITY_INSERT  off2.
    insert...不要包含IDENTITY列
      

  7.   

    如果列很多,要一個一個的寫是很累人的
    有一個辦法
    先把目標表的自動遞增的欄位設置成跟普通欄位一樣
    再用insert into 目標庫.擁有者.目標表 select * from 源庫.擁有者.源表
    的方法導入,最後再把剛修改的欄位改回自動遞增型的
      

  8.   

    --try
    declare @col varchar(4000),@sql varchar(4000)
    set @col=''
    select @col=@col+','+name from syscolumns where id=object_id('表名') and status<>128
    set @col=stuff(@col,1,1,'')
    set @sql='insert into tb('+@col+')select '+@col+' from 另一数据库名.dbo.表名'
    exec(@sql)
      

  9.   

    由于插入表中存在标识列,必须设置后才能进行插入
    set IDENTITY_INSERT  on
    insert语句
    set IDENTITY_INSERT  off