Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Trocar valores de duas colunas entre duas tabelas


Agora, isso pode ser simplificado demais, mas ei - é o que seus dados de amostra sugerem. A ideia é:trocar nomes de tabelas, não dados. Dar uma olhada:
SQL> create table naveen_t1 (id number, name varchar2(20));

Table created.

SQL> create table naveen_t2 (id number, name varchar2(20));

Table created.

SQL> insert all
  2    into naveen_t1 values (1, 'GOLDI')
  3    into naveen_t1 values (2, 'NAVEEN')
  4    into naveen_t1 values (3, 'AMIT')
  5    --
  6    into naveen_t2 values (1, 'RANJAN')
  7    into naveen_t2 values (2, 'SOM')
  8    into naveen_t2 values (3, 'ABHAY')
  9  select * from dual;

6 rows created.

SQL> select * From naveen_t1;

        ID NAME
---------- --------------------
         1 GOLDI
         2 NAVEEN
         3 AMIT

SQL> select * From naveen_t2;

        ID NAME
---------- --------------------
         1 RANJAN
         2 SOM
         3 ABHAY

Aqui vai o truque :
SQL> rename naveen_t2 to temp;

Table renamed.

SQL> rename naveen_t1 to naveen_t2;

Table renamed.

SQL> rename temp to naveen_t1;

Table renamed.

SQL> select * from naveen_t1;

        ID NAME
---------- --------------------
         1 RANJAN
         2 SOM
         3 ABHAY

SQL> select * From naveen_t2;

        ID NAME
---------- --------------------
         1 GOLDI
         2 NAVEEN
         3 AMIT

SQL>