0

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

我有一个包含几列的大表,我想通过一个存储过程在其中做 3 件事:

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

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

  3. 从临时表中复制数据并将其插入到上表中(即复制的数据显示 XX 而不是 GB)。

谁能帮我从这里开始?

4

2 回答 2

3

一步完成,无需临时表:

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

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

于 2013-09-24T16:43:28.513 回答
1

你为什么不做更新?

UPDATE XYZ_TableData
SET countryCode = 'XX'
WHERE countryCode = 'GB'
于 2013-09-24T16:42:47.020 回答