Skip to main content

%Dictionary.ForeignKeyDefinition

persistent class %Dictionary.ForeignKeyDefinition extends %Library.Persistent, %Dictionary.ForeignKeyDefinitionQuery

SQL Table Name: %Dictionary.ForeignKeyDefinition

Property Inventory

Method Inventory

Parameters

parameter SQLENABLED = 1;

Properties

property Deprecated as %Boolean [ InitialExpression = 0 ];
True if this foreign key is deprecated.
Property methods: DeprecatedDisplayToLogical(), DeprecatedGet(), DeprecatedIsValid(), DeprecatedLogicalToDisplay(), DeprecatedNormalize()
property Description as %RawString;
Supplies a description of the foreign key.
Property methods: DescriptionGet(), DescriptionIsValid()
property Internal as %Boolean [ InitialExpression = 0 ];
If true then do not display this item in automatic documentation.
Property methods: InternalDisplayToLogical(), InternalGet(), InternalIsValid(), InternalLogicalToDisplay(), InternalNormalize()
property Name as %Dictionary.Identifier [ Required ];
Defines a name for the key. It must be a valid class member name and must not conflict with any existing member name.
Property methods: NameGet(), NameIsValid()
property NoCheck as %Boolean [ InitialExpression = 0 ];
Specifies whether InterSystems IRIS should check this foreign key constraint.
Property methods: NoCheckDisplayToLogical(), NoCheckGet(), NoCheckIsValid(), NoCheckLogicalToDisplay(), NoCheckNormalize()
property OnDelete as %RawString [ InitialExpression = "noaction" ];
Specifies what referential action to take when the key value is deleted from the foreign table.
Property methods: OnDeleteGet()
property OnUpdate as %RawString [ InitialExpression = "noaction" ];
Specifies what referential action to take when the key value is updated in the foreign table.
Property methods: OnUpdateGet()
property Properties as %RawString;
Specifies one or more properties whose values are used to constrain the value of the foreign key.
Property methods: PropertiesGet(), PropertiesIsValid()
property ReferencedClass as %Dictionary.Classname;
Specifies the name of the class containing the key referred to by this foreign key definition.
Property methods: ReferencedClassGet(), ReferencedClassIsValid()
property ReferencedKey as %RawString;
Specifies the key name of a unique index within a class that provides the set of allowed values for this foreign key.
Property methods: ReferencedKeyGet(), ReferencedKeyIsValid()
property SequenceNumber as %Integer [ InitialExpression = 0 ];
SequenceNumber
Property methods: SequenceNumberDisplayToLogical(), SequenceNumberGet(), SequenceNumberIsValid(), SequenceNumberLogicalToDisplay(), SequenceNumberNormalize()
property SqlName as %RawString;
Specifies an alternate name for this foreign key when referred to via SQL.
Property methods: SqlNameGet(), SqlNameIsValid()
relationship parent as %Dictionary.ClassDefinition [ Required , Inverse = ForeignKeys , Cardinality = parent ];
Pointer to the containing parent object
Property methods: parentGet(), parentGetObject(), parentGetObjectId(), parentGetSwizzled(), parentIsValid(), parentNewObject(), parentRClose(), parentRExec(), parentRFetch(), parentRelate(), parentSQLCompute(), parentSet(), parentSetObject(), parentSetObjectId(), parentUnRelate(), parentUnSwizzle()

Methods

classmethod %Exists(oid As %ObjectIdentity) as %Boolean
Inherited description: Checks to see if the object identified by the OID oid exists in the extent.

Returns %Boolean TRUE if it exists, FALSE if it does not.

classmethod %LockId(id As %String, shared As %Boolean = 0, timeout As %Integer) as %Status
Inherited description: Obtain an exclusive or shared lock on the object identified by id. The type of lock obtained is determined by shared. This method is normally generated by the storage class for persistent classes using %Storage.Persistent or %Storage.SQL.
classmethod %UnlockId(id As %String, shared As %Boolean = 0, immediate As %Boolean = 0) as %Status
Inherited description: Release an exclusive or shared lock on the object identified by id. The type of lock released is determined by shared. If this method is not overridden then the default implementation returns an error. This method is normally generated by the storage class for persistent classes using %Storage.Persistent or %Storage.SQL.
method DeprecatedIsDefined() as %Boolean
method DeprecatedReset()
method DeprecatedSet(value As %String = "") as %Status
method DescriptionIsDefined() as %Boolean
method DescriptionReset()
method DescriptionSet(value As %String = "") as %Status
method InternalIsDefined() as %Boolean
method InternalReset()
method InternalSet(value As %String = "") as %Status
method NameIsDefined() as %Boolean
method NameReset()
method NameSet(value As %String = "") as %Status
method NoCheckIsDefined() as %Boolean
method NoCheckReset()
method NoCheckSet(value As %String = "") as %Status
method OnDeleteIsDefined() as %Boolean
classmethod OnDeleteIsValid(val As %String) as %Status
method OnDeleteReset()
method OnDeleteSet(value As %String = "") as %Status
method OnUpdateIsDefined() as %Boolean
classmethod OnUpdateIsValid(val As %String) as %Status
method OnUpdateReset()
method OnUpdateSet(value As %String = "") as %Status
method PropertiesIsDefined() as %Boolean
method PropertiesReset()
method PropertiesSet(value As %String = "") as %Status
method ReferencedClassIsDefined() as %Boolean
method ReferencedClassReset()
method ReferencedClassSet(value As %String = "") as %Status
method ReferencedKeyIsDefined() as %Boolean
method ReferencedKeyReset()
method ReferencedKeySet(value As %String = "") as %Status
method SequenceNumberIsDefined() as %Boolean
method SequenceNumberReset()
method SequenceNumberSet(value As %String = "") as %Status
method SqlNameIsDefined() as %Boolean
method SqlNameReset()
method SqlNameSet(value As %String = "") as %Status
classmethod parentOnDelete(id As %String, concurrency As %Integer) as %Status

Indexes

index (IDKEY on Name) [IdKey, Type = key];
Index methods: IDKEYCheck(), IDKEYDelete(), IDKEYExists(), IDKEYOpen(), IDKEYSQLCheckUnique(), IDKEYSQLExists(), IDKEYSQLFindPKeyByConstraint(), IDKEYSQLFindRowIDByConstraint()

Triggers

trigger OnDelete (AFTER event DELETE);
trigger OnInsertUpdate (BEFORE event INSERT/UPDATE);

Inherited Members

Inherited Methods

FeedbackOpens in a new tab