WEB开发网
开发学院数据库MSSQL Server 处理SQL Server表的数据插入到错误列中 阅读

处理SQL Server表的数据插入到错误列中

 2009-06-16 10:30:26 来源:WEB开发网   
核心提示: 其中一个间的方法显示如下,那就是创建一个临时的变量,处理SQL Server表的数据插入到错误列中(2),这个变量允许你更新数据和交换列值, DECLARE @temp AS varchar(50) UPDATE swapdata SET @temp=value2,value2=valu

其中一个间的方法显示如下,那就是创建一个临时的变量,这个变量允许你更新数据和交换列值。

      DECLARE @temp AS varchar(50)
  UPDATE swapdata SET @temp=value2,value2=value1,value1=@temp

我们不是在这个表中创建一个临时列,而是通过声明一个临时变量来交换这两个列中的数据。上面的代码解释如下:

首先创建一个临时变量。

然后把列"value2"的数据放在@temp变量中。

接着把列"value1"的数据放在"value2"列中。

最后把@temp的值放在"value1"列中。

现在,我们来查询这个表的行。

SELECT * FROM swapdata

我们可以看到我们的表已经正确更新了。

处理SQL Server表的数据插入到错误列中

图二

但是我发现最好的解决方法是不用任何临时变量。

只需执行下面的T-SQL,它将交换列数据。

UPDATE swapdata SET value2=value1,value1=value2

它把数据从value1迁移到value 2,同时也把value2的数据迁移到value 1。

现在,我们来查询这个表。我们可以看到数据已经交换回原来的位置。

SELECT * FROM swapdata

处理SQL Server表的数据插入到错误列中

图三

我尝试相同的砝码来解决三个列的问题。

让我们在“swapdata”表中再添加第三个列“value3”。

      ALTER TABLE swapdata ADD value3 varchar(50)
  GO

  UPDATE swapdata SET value3=value2+'0'

  SELECT * FROM swapdata

处理SQL Server表的数据插入到错误列中

图四

让我们如下交换这些列的值:

· "value1"获得"value3"的数据

· "value2"获得"value1"的数据

· "value3"获得"value2"的数据

我们将按照第二种解决方法来获得这个结果。

      UPDATE swapdata SET value1=value3,value2=value1,value3=value2
  SELECT * FROM swapdata

处理SQL Server表的数据插入到错误列中

图五

注意,交换列的系列可以按照任何顺序来给定。只要确保这个值在每个请求输出结果中传递即可。我认为这些方法对于每个人都很有用,只要交换列值,无需为临时列和变量而烦恼。

因此下次你再遇到在一张表的多个列中交换数据,只需记住这个简单的方法。

上一页  1 2 

Tags:处理 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接