Ho una tabella che il suo campo "ID" chiave primaria viene utilizzato in molte altre tabelle come chiave esterna.come verificare se una chiave di un record viene utilizzata in altre tabelle come chiave esterna (sql)?
Come posso realizzare che un record da questa tabella (ad esempio, il primo record "ID = 1") sia utilizzato in un'altra tabella?
Non voglio selezionare da tutte le altre tabelle per capire perché le tabelle sono così tante e le relazioni. Ho cercato una soluzione, non c'erano soluzioni funzionanti o ho sbagliato. Per favore aiuto.
Per che cosa è necessario sapere questo? Non cancellare un record se è usato come FK? Quindi imposta le chiavi esterne delle altre tabelle come "ON DELETE RESTRICT" anziché "CASCADE". Boom, non più cancellazioni involontarie. –
Ho un campo Isdeleted che lo faccio diventare vero se qualsiasi altro record usa l'ID di questo record come chiave esterna ma se questo ID del record non è usato in altre tabelle come chiave esterna, voglio cancellarlo. – ares
Il server SQL non supporta ON DELETE RESTRICT, ma è possibile utilizzare ON DELETE NO ACTION per ottenere il comportamento desiderato (errore se si tenta di eliminare una riga utilizzata da un'altra tabella come FK). –