Método getCrossReference (SQLServerDatabaseMetaData)
Recupera uma descrição das colunas de chave estrangeira da tabela de chaves estrangeiras fornecida que referencia as colunas de chave primária da tabela de chaves primárias fornecida.
Sintaxe
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)
Parâmetros
cat1
Uma String que contém o nome de catálogo da tabela que contém a chave primária.
schem1
Uma String que contém o nome de esquema da tabela que contém a chave primária.
tab1
Uma String que contém o nome de tabela da tabela que contém a chave primária.
cat2
Uma String que contém o nome de catálogo da tabela que contém a chave estrangeira.
schem2
Uma String que contém o nome de esquema da tabela que contém a chave estrangeira.
tab2
Uma String que contém o nome de tabela da tabela que contém a chave estrangeira.
Valor retornado
Um objeto SQLServerResultSet.
Exceções
Comentários
Esse método getCrossReference é especificado pelo método getCrossReference na interface java.sql.DatabaseMetaData.
O conjunto de resultados retornado pelo método getCrossReference conterá as seguintes informações:
Nome | Tipo | Descrição |
---|---|---|
PKTABLE_CAT | Cadeia de caracteres | O nome do catálogo que contém a tabela de chaves primárias. |
PKTABLE_SCHEM | Cadeia de caracteres | O nome do esquema da tabela de chaves primárias. |
PKTABLE_NAME | Cadeia de caracteres | O nome da tabela de chaves primárias. |
PKCOLUMN_NAME | Cadeia de caracteres | O nome da coluna da chave primária. |
FKTABLE_CAT | Cadeia de caracteres | O nome do catálogo que contém a tabela de chaves estrangeiras. |
FKTABLE_SCHEM | Cadeia de caracteres | O nome do esquema da tabela de chaves estrangeiras. |
FKTABLE_NAME | Cadeia de caracteres | O nome da tabela de chaves estrangeiras. |
FKCOLUMN_NAME | Cadeia de caracteres | O nome da coluna da chave estrangeira. |
KEY_SEQ | short | O número de sequência da coluna em uma chave primária de várias colunas. |
UPDATE_RULE | short | A ação aplicada à chave estrangeira quando a operação SQL for uma atualização. Pode ser um dos seguintes valores: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
DELETE_RULE | short | A ação aplicada à chave estrangeira quando a operação SQL for uma exclusão. Pode ser um dos seguintes valores: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
FK_NAME | Cadeia de caracteres | O nome da chave estrangeira. |
PK_NAME | Cadeia de caracteres | O nome da chave primária. |
DEFERRABILITY | short | Indica se a avaliação da restrição de chave estrangeira poderá ser adiada até uma confirmação. Pode ser um dos seguintes valores: importedKeyInitiallyDeferred (5) importedKeyInitiallyImmediate (6) importedKeyNotDeferrable (7) |
Observação
Para saber mais sobre os dados retornados pelo método getCrossReference, confira "sp_fkeys (Transact-SQL)" nos Manuais Online do SQL Server.
Exemplo
O exemplo a seguir demonstra como usar o método getCrossReference para retornar informações sobre a relação de chave primária e estrangeira entre as tabelas Person.Contact e HumanResources.Employee no banco de dados de exemplo 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();
}
}
Consulte Também
Métodos SQLServerDatabaseMetaData
Membros SQLServerDatabaseMetaData
Classe SQLServerDatabaseMetaData