sql server 2000

来源:百度知道 编辑:UC知道 时间:2024/04/30 14:22:40
在sql server 2000 用哪个命令能将一个表中的两列数据互换!!
这两列的数据是一对一的,没有重复数据。

单独转换的命令应该是没有,不过你可以创建一个临时字段来进行中转,如:
myTestA
fId,fName,A

myTestB
fId,fName,B

此时如果你想交换一下myTestA 表的A字段和myTestB 表B字段,假设他们的fId相等,那么可以用:
-- 增加一个新列,用来中转数据
ALTER TABLE myTestA
ADD fToB nvarchar(20) null
GO

-- 将需要转换的数据复制到新列上
UPDATE myTestA
SET fToB = A
Go

-- 更新A表上的数据
UPDATE myTestA
SET myTestA.A = myTestB.B
FROM myTestB
WHERE myTestA.fId=myTestB.fId
GO

-- 更新B表上的数据
UPDATE myTestB
SET myTestB.B = myTestA.fToB
FROM myTestA
WHERE myTestB.fId=myTestA.fId
Go

-- 删除中转字段
ALTER TABLE myTestA
DROP COLUMN fToB
GO