Alguém que entenda de SQL oracle poderia me ajudar nesse exercicio?

SQL

Oracle

Banco de Dados

Oracle PL SQL

03/10/2020

Bem, eu to fazendo um exercicio da faculdade mas não consigo, já faz horas que estou preso nele, alguém poderia me ajudar?
Exercicio 4:
Nome da tabela
Campos :
CODIGO_matricula numérico – tamanho 5,
Data_mat data
Código_aluno numérico – tamanho 5.
Mostre a estrutura da tabela criada
OBS: o campo código da matrícula deve ser a chave primária da tabela;
o campo código do aluno deve ser chave estrangeira que se relaciona com a tabela criada no exercício 1.

O EXERCICIO DE CIMA EU JÁ FIZ, POREM O DE BAIXO QUE ESTOU COM DUVIDAS:

Insira 5 registros na tabela criada no exercício 4. Garanta que esses registros fiquem salvos no banco de dados. Mostre o conteúdo da tabela. Atualize a tabela para que todos os registros tenham a mesma data de matrícula ( a sua escolha) e depois desfaça essa operação.

Eu criei a tabela assim:

create table estudos2 (
CODIGO_matricula number(5) not null,
data_mat date,
CODIGO_ALUNO number(5) not null,
PRIMARY KEY(CODIGO_matricula),
FOREIGN KEY(CODIGO_ALUNO) REFERENCES estudos1(codigo_aluno) );

Então na hora que eu tento colocar o valor, eu não consigo, da erro

insert into estudos2 values (1,'21/04/2015',21502); <<< esse o comando que eu tento e não vai
Rodrigo Vieira

Rodrigo Vieira

Curtidas 0

Respostas

Luiz Santos

Luiz Santos

03/10/2020

Boa noite Rodrigo.
Vou chutar, porque você não disse que erro que está tendo.

Pelo seu script, o problema parece estar na data.
Lembre que um banco de dados sempre armazena as datas no formato internacional, ou seja, YYYY-MM-DD.
Qualquer coisa diferente disso você precisa usar alguma função de conversão.

Usando o seu exemplo, 21/04/2015, você tem duas opções.
Ou passa a data no formato internacional, entre aspas simples.
Ex:
'2015-04-21'

Ou usa a função TO_DATE, passando o valor e o formato.
Ex:
TO_DATE('21/04/2015','DD/MM/YYYY').

Espero ter conseguido ajudar.

Grande abraço

GOSTEI 0
Jair N.

Jair N.

03/10/2020

Bom Dia Rodrigo você disse retornar dados, bem duas opções ou você guarda em uma tabela de todas as operações de inclusão alteração e exclusão, ou você usa um recurso que é excelente no Oracle, veja "FLASHBACK TABLE" o que ele faz, ele guarda toda as operações realizadas, com isso você pode retornar o seu banco de dados a um período anterior, incluindo aqui até a exclusão do banco, somente se não fizer a operação de otimização.
Veja como melhor utilizar.
GOSTEI 0
POSTAR