SQL Server:在同一个表中复制,替换和粘贴

时间:2013-09-24 16:37:00

标签: sql sql-server

我对SQL很陌生,希望有人可以帮助我解决以下一般性问题。

我有一个包含多个列的大表,我希望通过一个存储过程执行3项操作:

  1. 选择国家/地区(GB)的所有数据,例如通过使用以下内容:

    SELECT *
    FROM   XYZ_TableData
    WHERE  (countryCode LIKE 'GB')
    
  2. 将以上所有内容复制到临时表中,并将“countryCode”列中的“GB”替换为“XX”。

  3. 复制临时表中的数据并将其插入上表(即复制的数据显示XX而不是GB)。
  4. 任何人都可以帮助我从这里开始吗?

2 个答案:

答案 0 :(得分:2)

一步到位,不需要临时表:

insert into mytable(field1,field2,field3,country) 
  select field1,field2,field3,'XX' As Country from mytable where country='GB'

这假设您尝试将一组新记录附加到表中,而不是更新预先存在的记录。我以一种方式阅读了这个问题,但特蕾莎读到了另一个......猜你需要决定你的意思。

答案 1 :(得分:1)

你为什么不进行更新?

UPDATE XYZ_TableData
SET countryCode = 'XX'
WHERE countryCode = 'GB'