SQL - Copiar coluna

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

[ Hits: 15.413 ]

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

Consulta aleatória com PostgreSQL

PostgreSQL: Concedendo ou revogando privilégios em colunas

MicroOLAP - Ferramenta para modelagem em PostgreSQL

SQL: Filtragem com WHERE sem problemas com maiúsculo ou minúsculo

Instalando PostgreSQL no FreeBSD

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts