SQL - Copiar coluna

Publicado por Emiliano Eloi Silva Barbosa em 23/05/2007

[ Hits: 14.561 ]

Blog: http://emilianoeloi.com.br

 


SQL - Copiar coluna



Essa dica mostra como copiar um coluna de uma tabela para a outra, cujos códigos são iguais.

Primeiro gostaria de descrever o ambiente em SQL, observe a seguir:

Criando o usuário "vol":

CREATE USER vol;
CREATEDB NOCREATEUSER;


Criando a base de dados "vivaolinux":

CREATE DATABASE vivaolinux w. WITH OWNER = vol ENCODING = 'SQL_ASCII';

Criando a tabela "produtos_origem_tbl":

Create table "produtos_origem_tbl"(
   "cod_produto" Serial NOT NULL,
   "nome" Varchar,
   "valor" Numeric(9,2),
primary key ("cod_produto")
) With Oids;

ALTER TABLE produtos_origem_tbl OWNER TO vol;


Criando a tabela "produtos_destino_tbl":

Create table "produtos_destino_tbl"(
   "cod_produto" Serial NOT NULL,
   "nome" Varchar,
   "valor" Numeric(9,2),
primary key ("cod_produto")
) With Oids;

ALTER TABLE produtos_destino_tbl OWNER TO vol;


Alimentando a tabela "produtos_origem_tbl":

INSERT
  INTO produtos_origem_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Controle Ps2 Dual', 27.00);
INSERT
  INTO produtos_origem_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Camera Digital', 330.00);
INSERT
  INTO produtos_origem_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Pen Drive 2 Gb ', 55.00);
INSERT
  INTO produtos_origem_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Mp5 Mp4 Mp3 Player', 208.99);


Alimentando a tabela "produtos_destino_tbl":

INSERT
  INTO produtos_destino_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Controle Ps2 Dual', 28.00);
INSERT
  INTO produtos_destino_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Camera Digital', 349.00);
INSERT
  INTO produtos_destino_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Pen Drive 2 Gb ', 60.00);
INSERT
  INTO produtos_destino_tbl
        (cod_produto, nome, valor)
VALUES (10, 'Mp5 Mp4 Mp3 Player', 228.99);


Agora vamos atualizar a coluna "valor" da tabela "produtos_destino_tbl" com os dados contidos na coluna "valor" da tabela "produtos_origem_tbl":

UPDATE produtos_destino_tbl
   SET valor = produtos_origem_tbl.valor
  FROM produtos_origem_tbl
WHERE produtos_destino_tbl.cod_produto = produtos_origem_tbl.cod_produto;


Outras dicas deste autor

MySQL - Recuperar dados em ordem aleatória (randômica)

Leitura recomendada

Permitindo conexão ao banco no PostreSQL 8.3

MicroOLAP - Ferramenta para modelagem em PostgreSQL

Consulta aleatória com PostgreSQL

Select com extração de dia, mês ou ano no PostgreSQL

Acessando dois databases no mesmo SELECT (PostgreSQL)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário