Подтвердить что ты не робот

Как изменить значения столбцов в SQL Server 2008?

У меня есть таблица под названием Employee

 Eno     ename     AttributeValue      AttributeName  
 1       aa           a123             abc
 2       bbb          b123             dcf
 3       cc           c7sd             wew3

Я хочу поменять данные из столбца AttributeValue на AttributeName и AttributeName на AttributeValue

Пример:

Eno     ename     AttributeValue   AttributeName  
1       aa        abc              a123
2       bbb       dcf              b123
3       cc        wew3             c7sd
4b9b3361

Ответ 1

UPDATE employee
SET AttributeValue = AttributeName, 
    AttributeName = AttributeValue

Однако, если оба столбца не имеют точного определения, вы рискуете потерять информацию.

Ответ 2

Update employee
Set attributeValue = attributeName,
    attributeName = attributeValue

Ответ 3

update Employee set AttributeValue = AttributeName, AttributeName = AttributeValue

Ответ 4

Это действительно хороший пример

SELECT * from employees;
Go

DECLARE @temp as varchar(20)
update employees
set    @temp = fname,
       fname = lname,
       lname = @temp
WHERE  deptno = 10;
GO

SELECT * from employees;

Result

Ответ 5

Declare @myTable Table (id int, first_name varchar(50), last_name varchar(50));

Select * from Student

Insert Into @myTable (id, first_name, last_name) Select id, last_name, first_name from Student

    MERGE
    INTO    Student std
    USING @myTable tmp
    ON std.id = tmp.id
    WHEN MATCHED THEN
    UPDATE
    SET std.first_name = tmp.first_name,
    std.last_name = tmp.last_name;

Select * from Student

Выход

Query Result Screenshot

Ответ 6

Просто поменяйте оба столбца в одном обновлении:

Update registration
Set AttributeName = AttributeValue ,
    AttributeValue = AttributeName where id in (1,2,3)