Jump to content
Sign in to follow this  
Sr Inovação

Eliminar em cascata (Delete On Cascate)

Recommended Posts

Sr Inovação

Boa noite, pessoal da comunidade

Eu não estou a conseguir eliminar os dados em cascata no SQL Server.

Eu tenho uma tabela Pessoa, onde cada pessoa tem as suas receitas e as despesas(que estão nas respectivas tabelas) sendo que estas estão relacionadas com  a tabela Pessoas por chaves estrangeiras certo?

Eu precisava  quando se eliminasse um registo de um pessoa,ele conseguisse também eliminar as suas respectivas despesas e receitas, mas actualmente só elimina os dados da tabela pessoa.

Este é a minha instrução SQL para tentar eliminar:


cmdEliminarPessoa = New SqlCommand("Delete from Receitas " & _
                                                "Where Id_pessoa = '" & txtId_pessoa.Text.ToString & "'" & _
                                                "Delete from Despesas " & _
                                               "Where Id_pessoa = '" & txtId_pessoa.Text.ToString & "'" & _
                                                "Delete from memb_agreg_fam " & _
                                              "Where Id_pessoa = '" & txtId_pessoa.Text.ToString & "'", frmMainForm.connection)

Agradeço a vossa ajuda desde já

Share this post


Link to post
Share on other sites
M6

Para fazeres o delete cascade fazes de duas formas:

1. preparas as tuas tabelas para efectuar o delete cascade aquando da criação das mesmas;

2. eliminas os registos em cada uma das tabelas respeitando a ordem.

Pelo que apresentas parece-me que estás a optar pela opção 2, no entanto tens os comandos seguidos sem qualquer separador.

Se tentares executar esses comandos directamente no SQL Server vais ter um erro.

Faz um comando de delete de cada vez.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Sr Inovação

Querem dizer que tenho de criar/declarar 3 sqlcommands (um por cada delete) M6?

Share this post


Link to post
Share on other sites
M6

Sim.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.