Skip to main content

INFORMATION.SCHEMA.KEYCOLUMNUSAGE

persistent class INFORMATION.SCHEMA.KEYCOLUMNUSAGE extends %Library.Persistent

SQL Table Name: INFORMATION_SCHEMA.KEY_COLUMN_USAGE

Returns one row for each columns for each UNIQUE, PRIMARY KEY, or FOREIGN KEY table constraint in the current namespace for tables that can be accessed by the current user in the current namespace. The KEY_COLUMN_USAGE table has one or more rows for each row in the TABLE_CONSTRAINTS table that has a CONSTRAINT_TYPE of "UNIQUE", "PRIMARY KEY", or "FOREIGN KEY". The rows list the columns that constitute each unique constraint, and the referencing columns in each foreign key constraint.

Property Inventory

Parameters

parameter READONLY = 1;
Inherited description: READONLY = 1 means that objects can be created, opened but not saved or deleted. Tables are projected to SQL as READONLY.

Properties

property COLUMNNAME as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = COLUMN_NAME , Required ];
Name of the column.
Property methods: COLUMNNAMEDisplayToLogical(), COLUMNNAMEGet(), COLUMNNAMEIsValid(), COLUMNNAMELogicalToDisplay(), COLUMNNAMELogicalToOdbc(), COLUMNNAMENormalize(), COLUMNNAMESet()
property CONSTRAINTCATALOG as %String (MAXLEN = 128) [ Calculated , SqlFieldName = CONSTRAINT_CATALOG ];
Table qualifier - always NULL in Caché.
Property methods: CONSTRAINTCATALOGCompute(), CONSTRAINTCATALOGDisplayToLogical(), CONSTRAINTCATALOGGet(), CONSTRAINTCATALOGIsValid(), CONSTRAINTCATALOGLogicalToDisplay(), CONSTRAINTCATALOGLogicalToOdbc(), CONSTRAINTCATALOGNormalize(), CONSTRAINTCATALOGSQLCompute()
property CONSTRAINTNAME as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = CONSTRAINT_NAME , Required ];
Name of the constraint.
Property methods: CONSTRAINTNAMEDisplayToLogical(), CONSTRAINTNAMEGet(), CONSTRAINTNAMEIsValid(), CONSTRAINTNAMELogicalToDisplay(), CONSTRAINTNAMELogicalToOdbc(), CONSTRAINTNAMENormalize(), CONSTRAINTNAMESet()
property CONSTRAINTSCHEMA as %String (COLLATION = "Upper", MAXLEN = 128) [ Calculated , SqlFieldName = CONSTRAINT_SCHEMA ];
Name of schema that contains the constraint. Always the same as the TABLE_SCHEMA.
Property methods: CONSTRAINTSCHEMACompute(), CONSTRAINTSCHEMADisplayToLogical(), CONSTRAINTSCHEMAGet(), CONSTRAINTSCHEMAIsValid(), CONSTRAINTSCHEMALogicalToDisplay(), CONSTRAINTSCHEMALogicalToOdbc(), CONSTRAINTSCHEMANormalize(), CONSTRAINTSCHEMASQLCompute()
property CONSTRAINTTYPE as %String (MAXLEN = 11, VALUELIST = ",FOREIGN KEY,UNIQUE,PRIMARY KEY,CHECK") [ SqlFieldName = CONSTRAINT_TYPE , Required ];
CONSTRAINT_TYPE Returns one of the following values:
  • FOREIGN KEY - The constraint being described is a foreign key constraint.
  • UNIQUE - The constraint being described is a unique constraint.
  • PRIMARY KEY - The constraint being described is a primary key constraint.
  • CHECK - The constraint being described is a check constraint.
Property methods: CONSTRAINTTYPEDisplayToLogical(), CONSTRAINTTYPEGet(), CONSTRAINTTYPEIsValid(), CONSTRAINTTYPELogicalToDisplay(), CONSTRAINTTYPELogicalToOdbc(), CONSTRAINTTYPENormalize(), CONSTRAINTTYPESet()
property ORDINALPOSITION as %Integer (MINVAL = 1) [ SqlFieldName = ORDINAL_POSITION , Required ];
Column's ordinal position within the contraint. The value of ORDINAL_POSITION is the ordinal position of the specific column in the constraint being described. If the constraint described is a key of cardinality 1 (one), then the value of ORDINAL_POSITION is always 1 (one).
Property methods: ORDINALPOSITIONDisplayToLogical(), ORDINALPOSITIONGet(), ORDINALPOSITIONIsValid(), ORDINALPOSITIONLogicalToDisplay(), ORDINALPOSITIONNormalize(), ORDINALPOSITIONSet()
property POSITIONINUNIQUECONSTRAINT as %Integer (MINVAL = 1) [ Calculated , SqlFieldName = POSITION_IN_UNIQUE_CONSTRAINT ];
Referenced column's ordinal position in the referenced unique constraint.
If the constraint being described is a foreign key constraint, then the value of POSITION_IN_UNIQUE_CONSTRAINT is the ordinal position of the referenced column corresponding to the referencing column being described, in the corresponding unique key constraint.
Property methods: POSITIONINUNIQUECONSTRAINTCompute(), POSITIONINUNIQUECONSTRAINTDisplayToLogical(), POSITIONINUNIQUECONSTRAINTGet(), POSITIONINUNIQUECONSTRAINTIsValid(), POSITIONINUNIQUECONSTRAINTLogicalToDisplay(), POSITIONINUNIQUECONSTRAINTNormalize(), POSITIONINUNIQUECONSTRAINTSQLCompute()
property REFERENCEDCOLUMNNAME as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = REFERENCED_COLUMN_NAME , Required ];
Name of the column this foreign key references.
Property methods: REFERENCEDCOLUMNNAMEDisplayToLogical(), REFERENCEDCOLUMNNAMEGet(), REFERENCEDCOLUMNNAMEIsValid(), REFERENCEDCOLUMNNAMELogicalToDisplay(), REFERENCEDCOLUMNNAMELogicalToOdbc(), REFERENCEDCOLUMNNAMENormalize(), REFERENCEDCOLUMNNAMESet()
property REFERENCEDCONSTRAINTNAME as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = REFERENCED_CONSTRAINT_NAME ];
Name of the constraint this foreign key references.
Property methods: REFERENCEDCONSTRAINTNAMEDisplayToLogical(), REFERENCEDCONSTRAINTNAMEGet(), REFERENCEDCONSTRAINTNAMEIsValid(), REFERENCEDCONSTRAINTNAMELogicalToDisplay(), REFERENCEDCONSTRAINTNAMELogicalToOdbc(), REFERENCEDCONSTRAINTNAMENormalize(), REFERENCEDCONSTRAINTNAMESet()
property REFERENCEDTABLECATALOG as %String (COLLATION = "Upper", MAXLEN = 128) [ Calculated , SqlFieldName = REFERENCED_TABLE_CATALOG ];
Referenced table qualifier - always NULL in Caché.
Property methods: REFERENCEDTABLECATALOGCompute(), REFERENCEDTABLECATALOGDisplayToLogical(), REFERENCEDTABLECATALOGGet(), REFERENCEDTABLECATALOGIsValid(), REFERENCEDTABLECATALOGLogicalToDisplay(), REFERENCEDTABLECATALOGLogicalToOdbc(), REFERENCEDTABLECATALOGNormalize(), REFERENCEDTABLECATALOGSQLCompute()
property REFERENCEDTABLENAME as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = REFERENCED_TABLE_NAME , Required ];
Name of the table this foreign key references.
Property methods: REFERENCEDTABLENAMEDisplayToLogical(), REFERENCEDTABLENAMEGet(), REFERENCEDTABLENAMEIsValid(), REFERENCEDTABLENAMELogicalToDisplay(), REFERENCEDTABLENAMELogicalToOdbc(), REFERENCEDTABLENAMENormalize(), REFERENCEDTABLENAMESet()
property REFERENCEDTABLESCHEMA as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = REFERENCED_TABLE_SCHEMA , Required ];
Name of schema that contains the table this foreign key references.
Property methods: REFERENCEDTABLESCHEMADisplayToLogical(), REFERENCEDTABLESCHEMAGet(), REFERENCEDTABLESCHEMAIsValid(), REFERENCEDTABLESCHEMALogicalToDisplay(), REFERENCEDTABLESCHEMALogicalToOdbc(), REFERENCEDTABLESCHEMANormalize(), REFERENCEDTABLESCHEMASet()
property TABLECATALOG as %String (MAXLEN = 128) [ Calculated , SqlFieldName = TABLE_CATALOG ];
Table qualifier - always NULL in Caché.
Property methods: TABLECATALOGCompute(), TABLECATALOGDisplayToLogical(), TABLECATALOGGet(), TABLECATALOGIsValid(), TABLECATALOGLogicalToDisplay(), TABLECATALOGLogicalToOdbc(), TABLECATALOGNormalize(), TABLECATALOGSQLCompute()
property TABLENAME as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = TABLE_NAME , Required ];
Name of the table.
Property methods: TABLENAMEDisplayToLogical(), TABLENAMEGet(), TABLENAMEIsValid(), TABLENAMELogicalToDisplay(), TABLENAMELogicalToOdbc(), TABLENAMENormalize(), TABLENAMESet()
property TABLESCHEMA as %String (COLLATION = "Upper", MAXLEN = 128) [ SqlFieldName = TABLE_SCHEMA , Required ];
Name of schema that contains the table.
Property methods: TABLESCHEMADisplayToLogical(), TABLESCHEMAGet(), TABLESCHEMAIsValid(), TABLESCHEMALogicalToDisplay(), TABLESCHEMALogicalToOdbc(), TABLESCHEMANormalize(), TABLESCHEMASet()

Indexes

index (PKeyIndex on TABLESCHEMA,TABLENAME,CONSTRAINTNAME,COLUMNNAME) [PrimaryKey];
Index methods: PKeyIndexCheck(), PKeyIndexCheckUnique(), PKeyIndexDelete(), PKeyIndexExists(), PKeyIndexOpen(), PKeyIndexSQLCheckUnique(), PKeyIndexSQLExists(), PKeyIndexSQLFindPKeyByConstraint(), PKeyIndexSQLFindRowIDByConstraint()

Inherited Members

Inherited Methods

Storage

Gray indicates storage defined by superclasses.

Storage Model: CacheSQLStorage

Maps: 2

  • Map number 1 is named Master

    thismap.Global: ^oddSQL

  • Map number 2 is named rxIndex

    thismap.Global: ^rINDEXSQL

  • ^oddSQL({SchemaExact},{TableExact},15,{ConstraintExact},{ColumnNameExact})
    =
    Node Delimiter Piece Name
    TABLE_SCHEMA
    1 ORDINAL_POSITION
    ^rINDEXSQL("rv",$$UPPER({TABLE_SCHEMA}),$$UPPER({TABLE_NAME}),{ConstraintExact},{ColumnNameExact})
    =
    Node Delimiter Piece Name
    TableExact
    1 ORDINAL_POSITION
FeedbackOpens in a new tab