Exercício 13.27

Ir em baixo

Exercício 13.27

Mensagem por Admin em Seg Ago 05, 2013 2:17 pm

CREATE TABLE categoria (
codigo_categoria SERIAL NOT NULL PRIMARY KEY,
nome_categoria VARCHAR(20) NOT NULL
);

INSERT INTO categoria (nome_categoria)
SELECT DISTINCT
categoria
FROM produto
ORDER BY categoria;

--Na tabela de produtos, adicione uma coluna
--codigo_categoria INT NULL
ALTER TABLE produto ADD COLUMN
codigo_categoria INT NULL;

--Faça um UPDATE que altere o valor desta nova
--coluna com o código da categoria apropriada (com
--auxílio do professor
UPDATE produto
SET codigo_categoria =
(SELECT categoria.codigo_categoria
FROM categoria
WHERE categoria.nome_categoria = produto.categoria)

--Altere a nova coluna para NOT NULL
ALTER TABLE produto
ALTER COLUMN codigo_categoria set not null;

--Remova a coluna antiga de categoria
ALTER TABLE produto
DROP COLUMN categoria;

--Adicione uma constraint para definir a chave estrangeira
ALTER TABLE produto
ADD CONSTRAINT fk_produto_categoria
FOREIGN KEY (codigo_categoria) REFERENCES categoria(codigo_categoria);

--Adicione uma constraint para impedir preços
--negativos aos produtos
ALTER TABLE produto
ADD CONSTRAINT check_preco_negativo
CHECK (preco >= 0);


Admin
Admin

Mensagens : 123
Data de inscrição : 01/07/2013

Ver perfil do usuário http://geracaotecjava.forumbrasil.net

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum