Metodo getCrossReference (SQLServerDatabaseMetaData)

Scaricare il driver JDBC

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

SQLServerException

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 usare 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();  
   }  
}  

Vedere anche

Metodi di SQLServerDatabaseMetaData
Membri di SQLServerDatabaseMetaData
Classe SQLServerDatabaseMetaData