Compartir a través de


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

Un String que contiene el nombre del catálogo de la tabla que incluye la clave principal.

schem1

Un String que contiene el nombre del esquema de la tabla que incluye la clave principal.

tab1

Un String que contiene el nombre de la tabla de la tabla que incluye la clave principal.

cat2

Un String que contiene el nombre del catálogo de la tabla que incluye la clave externa.

schem2

Un String que contiene el nombre del esquema de la tabla que incluye la clave externa.

tab2

Un String que contiene el nombre de la tabla de la tabla que incluye la clave externa.

Valor devuelto

Un objeto SQLServerResultSet.

Excepciones

SQLServerException

Notas

El método getCrossReference especifica este método getCrossReference en la interfaz java.sql.DatabaseMetaData.

El conjunto de resultados devuelto por el método getCrossReference contendrá la siguiente información:

Nombre Tipo 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

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 obtener más información sobre los datos que devuelve el método getCrossReference, vea "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 SQL Server 2005 AdventureWorks.

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

Vea también

Referencia

Clase SQLServerDatabaseMetaData

Conceptos

Métodos SQLServerDatabaseMetaData
Miembros SQLServerDatabaseMetaData