Método getCrossReference (SQLServerDatabaseMetaData)
Recupera una descripción de las columnas de clave externa en la tabla de clave externa determinada que hace referencia a las columnas de clave principal de la tabla de claves principales determinada.
Sintaxis
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
Objeto String que contiene el nombre del catálogo de la tabla que incluye la clave principal.
schem1
Objeto String que contiene el nombre del esquema de la tabla que incluye la clave principal.
tab1
Objeto String que contiene el nombre de tabla de la tabla que incluye la clave principal.
cat2
Objeto String que contiene el nombre del catálogo de la tabla que incluye la clave externa.
schem2
Objeto String que contiene el nombre del esquema de la tabla que incluye la clave externa.
tab2
Objeto String que contiene el nombre de tabla de la tabla que incluye la clave externa.
Valor devuelto
Objeto SQLServerResultSet.
Excepciones
Observaciones
El método getCrossReference especifica este método getCrossReference en la interfaz java.sql.ParameterMetaData.
El conjunto de resultados devuelto por el método getCrossReference contendrá la siguiente información:
Nombre | Escribir | Descripción |
---|---|---|
PKTABLE_CAT | String | Nombre del catálogo que contiene la tabla de la clave principal. |
PKTABLE_SCHEM | String | Nombre del esquema de la tabla de la clave principal. |
PKTABLE_NAME | String | Nombre de la tabla de la clave principal. |
PKCOLUMN_NAME | String | Nombre de la columna de la clave principal. |
FKTABLE_CAT | String | Nombre del catálogo que contiene la tabla de la clave externa. |
FKTABLE_SCHEM | String | Nombre del esquema de la tabla de la clave externa. |
FKTABLE_NAME | String | Nombre de la tabla de la clave externa. |
FKCOLUMN_NAME | String | Nombre de la columna de la clave externa. |
KEY_SEQ | short | Número de secuencia de la columna en una clave principal en varias columnas. |
UPDATE_RULE | short | Acción aplicada a la clave externa cuando la operación de SQL sea una actualización. Puede ser uno de los siguientes valores: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
DELETE_RULE | short | Acción aplicada a la clave externa cuando la operación de SQL sea una eliminación. Puede ser uno de los siguientes valores: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
FK_NAME | String | El nombre de la clave externa. |
PK_NAME | String | Nombre de la clave principal. |
DEFERRABILITY | short | Indica si la evaluación de la restricción de la clave externa se puede diferir hasta que se efectúe una confirmación. Puede ser uno de los siguientes valores: importedKeyInitiallyDeferred (5) importedKeyInitiallyImmediate (6) importedKeyNotDeferrable (7) |
Nota
Para más información sobre los datos que devuelve el método getCrossReference, consulte "sp_fkeys (Transact-SQL)" en los Libros en pantalla de SQL Server.
Ejemplo
En el siguiente ejemplo se muestra cómo utilizar el método getCrossReference para devolver información sobre la relación de las claves principal y externa con las tablas Person.Contact y HumanResources.Employee en la base de datos de ejemplo 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 también
Métodos SQLServerDatabaseMetaData
Miembros SQLServerDatabaseMetaData
Clase SQLServerDatabaseMetaData