Duvida em SQL: Delete em tabelas com relaçoes

5 respostas
D

Fala pessoal, minha duvida nao tem nada com java e sim com sql, se alguem poder ajudar. Eu tenho 3 tabelas: Usuario, senhas e info. Usuario e senhas tem uma relação um para muitos e senha e info um para um. Usuario tem o campo login que é primary key e que é foreign key em senhas. Se eu quero excluir um login em Usuario que tem campos na tabela senhas eu poderia usar DELETE em cascata ne isso? Ae eu testei:

delete from usuário inner join senhas
on usuario.login = senhas.login
where usuario.login=‘fulano’;

Mas da o erro: SQL error code = -104 | Token unknown - line 1, char 21 | inner . Se eu colocar delete * from… também aparece o mesmo erro mostrando o * como erro. Como eu faço essa exclusão? Uso o Firebird 1.5.

Valeu :slight_smile:

5 Respostas

J

você já tentou duma maneira mais simples? tipo:

delete from usuario, senhas
where usuario.login=‘fulano’ AND senhas.login=usuario.login;

?
Posso está blefando, mas no MySQL funciona :stuck_out_tongue:

D

Acho q isso funcionaria mas da o erro:

ISC ERROR CODE:335544466
ISC ERROR MESSAGE:
violation of FOREIGN KEY constraint “INTEG_10” on table “SENHAS”

q é o mesmo erro q da se eu tento apagar pelos botões aqui do firebird :evil: :cry:

J

Nossa! que toscão hem? :twisted:
Acho que você vai ter que dividir em duas cláusulas DELETE.

D

Acho q eu vo ter q fazer isso mesmo :mad: .

D

Opa, me surgiu uma duvida sobre segurança, quando o programa faz a conexão com o banco la tem a senha e o usuario q pode fazer tudo ne, se eu liberar o codigo alguem nao poderia usar a senha pra acessar o bd de outra pessoa e ver as senhas e tudo mais?

:cool:

Criado 27 de julho de 2004
Ultima resposta 28 de jul. de 2004
Respostas 5
Participantes 2