Geração TEC Java - Julho/2013
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Exercício 13.27

Ir para baixo

Exercício 13.27 Empty Exercício 13.27

Mensagem por Admin 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

https://geracaotecjava.forumbrasil.net

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos