A:ID   NAME   CLASS   1    中国   中文
   2    英国   中文
   3    法国   中文用SQL语句进行操作:完成的效果是,对表A的数据进行了复制并追加到表A,并在CLASS字段里值改为ENGLISH。
最终的结果是:A:ID   NAME   CLASS   1    中国   中文
   2    英国   中文
   3    法国   中文
   4    中国   ENGLISH
   5    英国   ENGLISH
   6    法国   ENGLISH

解决方案 »

  1.   

    --id是自增列的话insert A(NAME,CLASS)
    select DISTINCT NAME,'ENGLISH' from A
      

  2.   

    insert into a(name,class) select name,class=replace(class,'中文','ENGLISH') from a
      

  3.   

    ---测试数据---
    if object_id('[A]') is not null drop table [A]
    go
    create table [A]([ID] int identity(1,1),[NAME] varchar(10),[CLASS] varchar(10))
    insert [A]
    select '中国','中文' union all
    select '英国','中文' union all
    select '法国','中文'
     
    ---插入数据---
    insert A(NAME,CLASS)
    select DISTINCT NAME,'ENGLISH' from A---查询---
    select * from [A]---结果---
    ID          NAME       CLASS      
    ----------- ---------- ---------- 
    1           中国         中文
    2           英国         中文
    3           法国         中文
    4           法国         ENGLISH
    5           英国         ENGLISH
    6           中国         ENGLISH(所影响的行数为 6 行)
      

  4.   

    ---------------------------------------------
    --> Author : js_szy
    --> Target : 各位大大,小卒就是想要一朵花
    --> Date   : 2009-12-07 13:38:00
    --> Version: SQL Server 2005
    ---------------------------------------------
        
    --> 测试数据: @tb
    declare @tb table (ID int identity,NAME varchar(4),CLASS varchar(14))
    insert into @tb
    select  '中国','中文' union all
    select  '英国','中文' union all
    select  '法国','中文'INSERT @TB 
    select name,'ENGLISH' FROM @TB SELECT * FROM @TBID          NAME CLASS
    ----------- ---- --------------
    1           中国   中文
    2           英国   中文
    3           法国   中文
    4           中国   ENGLISH
    5           英国   ENGLISH
    6           法国   ENGLISH(6 行受影响)