Visualizzazione risultati 1 fino 2 di 2

Discussione: Chiave esterna su due tabelle

  1. #1
    Ufobm non è connesso Utente attivo
    Data registrazione
    06-12-2004
    Messaggi
    432

    Predefinito Chiave esterna su due tabelle

    Ciao!
    Ho un problema con l'SQL. Vorrei che un campo di una tabella faccia riferimento ad un valore contenuto in un'altra tabella oppure ad un valore contenuto in una terza tabella. In poche parole che un campo abbia due chiavi esterne, di cui almeno una rispettata.

    Ho già letto delle soluzioni su internet che consigliano di creare una tabella contenente l'unione dei campi delle due tabelle che devono essere referenziate.
    Supponiamo che io non possa farlo.

    Non esiste una soluzione di vincolo da applicare alla prima tabella tipo:
    Codice:
    check ((campo1 IN tabella2.campo2) OR (campo1 IN tabella3.campo3))

  2. #2
    Ufobm non è connesso Utente attivo
    Data registrazione
    06-12-2004
    Messaggi
    432

    Predefinito

    Ciao!
    Come vi sembra questa soluzione:
    Codice:
    CREATE VIEW vista1(campo_vista) AS
    SELECT campo2
    FROM tabella2
    UNION 
    SELECT campo3
    FROM tabella3;
    
    ALTER TABLE tabella1
    ADD CONSTRAINT VincoloIntegrita
    CHECK (campo1 IN (SELECT campo_vista FROM vista1));

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •