Metodo getCrossReference (SQLServerDatabaseMetaData)
Recupera una descrizione delle colonne di chiave esterna per la tabella di chiave esterna specificata che fa riferimento alle colonne di chiave primaria della tabella di chiave primaria specificata.
Sintassi
public java.sql.ResultSet getCrossReference(java.lang.String cat1,
java.lang.String schem1,
java.lang.String tab1,
java.lang.String cat2,
java.lang.String schem2,
java.lang.String tab2)
Parametri
cat1
Valore String contenente il nome del catalogo della tabella che contiene la chiave primaria.
schem1
Valore String contenente il nome dello schema della tabella che contiene la chiave primaria.
tab1
Valore String contenente il nome tabella della tabella che contiene la chiave primaria.
cat2
Valore String contenente il nome del catalogo della tabella che contiene la chiave esterna.
schem2
Valore String contenente il nome dello schema della tabella che contiene la chiave esterna.
tab2
Valore String contenente il nome tabella della tabella che contiene la chiave esterna.
Valore restituito
Oggetto SQLServerResultSet.
Eccezioni
Osservazioni:
Questo metodo getCrossReference viene specificato dal metodo getCrossReference nell'interfaccia java.sql.DatabaseMetaData.
Il set di risultati restituito dal metodo getCrossReference conterrà le informazioni seguenti:
Nome | Tipo | Descrizione |
---|---|---|
PKTABLE_CAT | Stringa | Nome del catalogo che contiene la tabella di chiave primaria. |
PKTABLE_SCHEM | Stringa | Nome dello schema della tabella di chiave primaria. |
PKTABLE_NAME | Stringa | Nome della tabella di chiave primaria. |
PKCOLUMN_NAME | Stringa | Nome della colonna della chiave primaria. |
FKTABLE_CAT | Stringa | Nome del catalogo che contiene la tabella di chiave esterna. |
FKTABLE_SCHEM | Stringa | Nome dello schema della tabella di chiave esterna. |
FKTABLE_NAME | Stringa | Nome della tabella di chiave esterna. |
FKCOLUMN_NAME | Stringa | Nome della colonna della chiave esterna. |
KEY_SEQ | short | Numero di sequenza della colonna in una chiave primaria a più colonne. |
UPDATE_RULE | short | Azione applicata alla chiave esterna quando l'operazione SQL è un aggiornamento. Può essere uno dei valori seguenti: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
DELETE_RULE | short | Azione applicata alla chiave esterna quando l'operazione SQL è un'eliminazione. Può essere uno dei valori seguenti: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
FK_NAME | Stringa | Nome della chiave esterna. |
PK_NAME | Stringa | Nome della chiave primaria. |
DEFERRABILITY | short | Indica se la valutazione del vincolo di chiave esterna può essere posticipata fino a quando non viene eseguito un commit. Può essere uno dei valori seguenti: importedKeyInitiallyDeferred (5) importedKeyInitiallyImmediate (6) importedKeyNotDeferrable (7) |
Nota
Per altre informazioni sui dati restituiti dal metodo getCrossReference, vedere "sp_fkeys (Transact-SQL)" nella documentazione online di SQL Server.
Esempio
Nell'esempio seguente viene illustrato come utilizzare il metodo getCrossReference per restituire informazioni sulla relazione di chiave primaria ed esterna tra le tabelle Person.Contact e HumanResources.Employee nel database di esempio AdventureWorks2022.
public static void executeGetCrossReference(Connection con) {
try {
DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getCrossReference("AdventureWorks", "Person", "Contact", null, "HumanResources", "Employee");
ResultSetMetaData rsmd = rs.getMetaData();
// Display the result set data.
int cols = rsmd.getColumnCount();
while(rs.next()) {
for (int i = 1; i <= cols; i++) {
System.out.println(rs.getString(i));
}
}
rs.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
Vedi anche
Metodi di SQLServerDatabaseMetaData
Membri di SQLServerDatabaseMetaData
Classe SQLServerDatabaseMetaData