zoukankan      html  css  js  c++  java
  • 数据库表间数据复制

          在利用数据库开发时,常常会将一些表之间的数据互相导入。当然可以编写程序实现,但是,程序常常需要开发环境,不方便。最方便是利用sql语言直接导入。既方便而修改也简单。以下就是导入的方法。

     1。表结构相同的表,且在同一数据库(如,table1,table2)

     Sql :insert into table1 select  *   from table2 (完全复制)

               insert into table1 select  distinct  *  from table2(不复制重复纪录)

               insert into table1 select  top 5 *  from  table2 (前五条纪录)

    2。   不在同一数据库中(如,db1 table1,db2 table2)

     sql:   insert into db1..table1 select  *   from db2..table2 (完全复制)

               insert into db1..table1 select  distinct  *  from db2table2(不复制重复纪录)

               insert into tdb1..able1 select  top 5 *  from  db2table2 (前五条纪录)

    3.      表结构不同的表或复制部分纪录(如,dn_user,dn_user2)

    a.    建一个新表[DN_UserTemp](在老表dn_user上增加一列)

    CREATE TABLE [DN_UserTemp] ( [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL)
     [Id] [idtype] NOT NULL ,
     [Name] [fntype] NOT NULL ,
     [Descript] [dstype] NULL ,
     [LogonNm] [idtype] NOT NULL ,
     [Password] [idtype] NULL ,
     [Gender] [char] (1) NULL ,
     [Quited] [booltype] NOT NULL,
     [OffDuty] [booltype] NOT NULL ,
     [Stopped] [booltype] NOT NULL,
     [OSBind] [booltype] NOT NULL,
     [Domain] [idtype] NULL ,
     [EMail] [fntype] NULL ,
     [UnitId] [idtype] NULL ,
     [BranchId] [idtype] NULL ,
     [DutyId] [idtype] NULL ,
     [LevelId] [idtype] NULL ,
     [ClassId] [idtype] NULL ,
     [TypeId] [idtype] NULL ,
     [IP] [varchar] (15) COLLATE Chinese_PRC_CI_AS NULL ,
     [ExpireDT] [datetime] NULL ,
     [Sort] [int] NOT NULL ,
     [AllowDel] [booltype] NOT NULL,
     [UnitChief] [booltype] NOT NULL,
     [BranchChief] [booltype] NOT NULL ,
     [UnitDeputy] [booltype] NOT NULL ,
     [BranchDeputy] [booltype] NOT NULL ,
         
            [Num] [numeric](18, 0) IDENTITY (1, 1) NOT NULL
     
    ) ON [PRIMARY]

    b. 将dn_uer2的数据拷入dn_usertemp

    sql:insert into dn_usertemp select * from dn_user2 

    c.将dn_usertemp 拷入dn_user

    sql:

    declare  @i int
    declare  @j int
    declare  @Name fntype
    set @i=1
    select @j=count(*) from dn_usertemp
    while @i<@j 1
    begin

    select @Name=Name from dn_usertemp where Num=@i
    print @Name
    insert into dn_user (Name) values (@Name) where Num=@i
    select @i=@i 1
    end

          

  • 相关阅读:
    css clear
    设置 系统软件
    Canvas 生成 bitmap
    HashTable
    JSF
    android 自定义 锁屏
    java socket
    php mysql 配置
    mysql 启动方法
    jQuery 表格
  • 原文地址:https://www.cnblogs.com/zjblue/p/384958.html
Copyright © 2011-2022 走看看