SQL Delete

lunedì 19 giugno 2006 - 16.08

clark Profilo | Newbie

ciao,

ho un problema nell'eliminare righe da 2 tabelle, Notizie e Immagine.

in poche parole, devo eliminare una riga dalla tabella Notizie, e fin quì tutto semplice. solo che nella tab. Notizie c'è una chiave esterna che relaziona notizie ad immagine. con la mia query, devo eliminare la notizia, nonché l'immagine associata, contenuta nella tabella notizia.

come posso fare? qualcuno può aiutarmi?


shark986 Profilo | Junior Member

se ho capito bene devi eliminare una notizia e l'immagine correlata; quindi ad ogni notizia è associata una immagine.. giusto?
se è così, devi cancellare prima l'immagine, e poi la notizia.

se non cancelli in quest'ordine dovrebbe darti problemi perchè cerchi di eliminare una informazione (probabilmetne l'id della notizia) di riferimento per un'altra tabella (quella delle immagini)!

se non ti sono stato d'aiuto metti una bozza della struttura delle tabelle così da essere un pò più chiara la situazione... ciaoz!

clark Profilo | Newbie

>se ho capito bene devi eliminare una notizia e l'immagine correlata;
>quindi ad ogni notizia è associata una immagine.. giusto?

giusto!!

>se è così, devi cancellare prima l'immagine, e poi la notizia.

sì a questo avevo pensato ma nella mia situazione non è così facile, perché per cancellare la notizia, prendo i valori scelti da un utente tramite una CheckBoxList. questi valori sono gli indici delle notizie, con i quali poi cancello la riga che contiene la notizia.
>
>se non cancelli in quest'ordine dovrebbe darti problemi perchè
>cerchi di eliminare una informazione (probabilmetne l'id della
>notizia) di riferimento per un'altra tabella (quella delle immagini)!

ma la query che ho scritto funziona, in quanto la notizia viene eliminata dalla tabella Notizie, senza alcun errore. solo credevo che venisse eliminata anche l'immagine correlata, dato che nel campo della foreign key ho impostato l'eliminazione a cascata dei campi correlati
>
>se non ti sono stato d'aiuto metti una bozza della struttura
>delle tabelle così da essere un pò più chiara la situazione...
>ciaoz!

alx_81 Profilo | Guru

Mi è arrivata via mail anche questa discussione =)
è la stessa domanda che mi avevi fatto prima, vero???
se sì.. fammi sapere se la cancellazione in cascata funziona..
Alx81 =)

http://blogs.dotnethell.it/suxstellino

clark Profilo | Newbie

>Mi è arrivata via mail anche questa discussione =)
>è la stessa domanda che mi avevi fatto prima, vero???

sì sì è la stessa
un piccolo problemino mentre inviavo il messaggio, l'ho dovuto spedire una seconda volta credendo la prima non fosse andata a buon fine, invece...

>se sì.. fammi sapere se la cancellazione in cascata funziona..

vedì l'altra discussione

shark986 Profilo | Junior Member

scusa ma allora che problema hai?!? :-O

io pensavo avessi un problema con la negazione della cancellazione visto la kiave esterna....

se questo problema però non ce l'hai (e questo mi suona strano onestamente).... ti fai problemi a scrivere due righe di codice in più per eseguire un'altra query di cancellazione per l'immagine?!?

perdonami ma non ho capito il problema...
(se puoi fà un'immagine delle relazioni fra le tabelle)
ciao!

clark Profilo | Newbie

>scusa ma allora che problema hai?!? :-O
>
>io pensavo avessi un problema con la negazione della cancellazione
>visto la kiave esterna....
>
>se questo problema però non ce l'hai (e questo mi suona strano
>onestamente).... ti fai problemi a scrivere due righe di codice
>in più per eseguire un'altra query di cancellazione per l'immagine?!?

ma infatti non mi faccio alcun problema
l'ho risolto con 2 query, ecco come ho fatto:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

il (" + vals + ") è perché gli indici delle notizie li prendo dai valori delle caselle selezionate di una check box list.....

>
>perdonami ma non ho capito il problema...

probabilmente mi sono spiegato MALE...

>(se puoi fà un'immagine delle relazioni fra le tabelle)
>ciao!

ciao e grazie

shark986 Profilo | Junior Member

figurati!

Ciaoz!!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5