[access] Creare relazione non referenziale

giovedì 07 aprile 2011 - 10.48

harvey Profilo | Newbie

Vorrei creare una relazione priva di integrità referenziale tramite codice SQL su in database access, ma proprio non riesco a capire come fare ...

Facendo la dichiarazione classica scrivo questo:

ALTER TABLE Tabella1
ADD CONSTRAINT prova
FOREIGN KEY (Campo1) REFERENCES Tabella2(Campo2)

Ma la spunta di integrità referenziale c'e' sempre e soprattutto non trovo una opzione per eliminarla

Lo so che a questo punto la relazione serve a poco, ma per retrocompatibilità con query esistenti preferisco averla

L'unico suggerimento che ho trovato in rete e' l'opzione NO INDEX, ma no fa quello che vorrei io

lbenaglia Profilo | Guru

>Vorrei creare una relazione priva di integrità referenziale tramite
>codice SQL su in database access,

Ciao,

Cosa intendi con "relazione priva di integrità referenziale"?

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

harvey Profilo | Newbie

Intendo priva della spunta "Applica integrità referenziale" su access

Quindi che posso anche inserire valori non presenti sulla tabella referenziata


459x492 70Kb

lbenaglia Profilo | Guru

>Intendo priva della spunta "Applica integrità referenziale" su
>access
OK, quindi senza abilitare le operazioni cascade... beh, è esattamente il comando che hai scritto tu

ALTER TABLE Tabella1
ADD CONSTRAINT prova
FOREIGN KEY (Campo1) REFERENCES Tabella2(Campo2)

>Quindi che posso anche inserire valori non presenti sulla tabella
>referenziata
No, questo no, è proprio lo scopo dell'integrià referenziale quello di non permettere la creazione di righe orfane. La checkbox che appare nella form che hai postato si riferisce ESCLUSIVAMENTE sulle operazioni cascade.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/

harvey Profilo | Newbie

Perfetto,
quindi il problema era l'uso non standard della tabella in access (che permetteva questo comportamento)

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