当前位置:网站首页>Attribute keywords ondelete, private, readonly, required
Attribute keywords ondelete, private, readonly, required
2022-07-07 14:30:00 【User 7741497】
The first 105 Chapter Attribute keyword - OnDelete
Specify the action to be taken in the current table when deleting related objects . This keyword is only applicable to the cardinality Cardinality Designated as “ Father ” or “ One ” Relationship properties of . Its use is invalid in all other contexts .
usage
To specify the action to be taken in the current table when deleting related objects , Please use the following syntax :
Relationship relname As classname [ Cardinality = cardinality, Inverse = inverse, OnDelete = ondelete ]; among ondelete Is one of the following values . In this discussion , Related records are records or objects belonging to the other party of the relationship , A reference record is a record or object of the party to the relationship .
cascadecascade — When deleting related records , The reference records in this table will also be deleted .noactionNo operation — When trying to delete related records , Attempts will fail .setdefault— When deleting related records , The reference records in this table will be set to their default values .setnull— When deleting related records , The reference records in this table will be set tonull.
Detailed explanation
This keyword defines the reference operation that occurs when a record is deleted at the other end of the relationship .
Default
If you ignore this keyword , be :
- about
CardinalityCardinality is the parent relationship ,OnDeleteIt's cascading . in other words , When deleting the parent record , By default , The associated child record will be deleted . - For cardinality 1 The relationship between ,
OnDeletebynoaction. in other words , When trying to delete “ One ” When recording , By default , If another table has any records pointing to it , Try and fail .
Example
Class MyApp.Employee Extends %Persistent {
...
Relationship Employer As MyApp.Company [ Cardinality = one, Inverse = Employees, OnDelete = cascade ];
} This example shows the one to many relationship between the company and employees . As shown in the figure ,Cardinality It means that the company is related “one”, and OnDelete Indicates the impact of deleting the company on its employees . because OnDelete The value of is cascade, When deleting a company , Its effect is cascading , Employees will also be deleted .
The first 106 Chapter Attribute keyword - Private
Specify whether the property is private ( Can only be used by methods of this class or its subclasses ).
usage
To specify that the property is private , Please use the following syntax :
Property name As classname [ Private ]; otherwise , Ignore the keyword or Not Put before the keyword .
Detailed explanation
Private class members can only be represented by this class ( Or its subclass ) The method of using .
Private properties are not displayed in directory information , And not by SELECT * Query returned . however , Can be in SQL Explicitly reference and use private attributes in queries .
A subclass inherits Private The value of the keyword , It cannot be rewritten .
stay IRIS in , Private properties are always inherited , And visible to subclasses of classes that define attributes ; Other languages often call these protected properties .
Default
If you omit this keyword , Then this property is not private .
The first 107 Chapter Attribute keyword - ReadOnly
The specified attribute is read-only , This limits the way its value is set .
usage
To specify that the attribute is read-only , Please use the following syntax :
Property name As classname [ ReadOnly ]; otherwise , Omit this keyword or put the word Not Put in front of the keyword .
Important note : Do not use ReadOnly keyword .
Detailed explanation
This keyword specifies that the value of this property cannot be set by using an object reference . If you use an object reference to set the value of a read-only property , for example :
set oref.Name = "newvalue" Then it will appear at runtime <CANNOT SET THIS PROPERTY> error .
Again , When the attribute is defined as read-only , Corresponding SQL The fields in the table are also defined as read-only . Cannot pass SQL Statement to explicitly insert or update read-only fields . Trying to do this will lead to SQL error ,SQLCODE by -138.
You can specify the value of the read-only attribute in the following ways :
- adopt
InitialExpressionkeyword . - adopt
SQLComputeCodekeyword .
Please note that , These technologies have specific limitations .
Be careful
If the attribute is marked as read-only and required required, Please pay attention to object access and SQL The following behavioral differences between visits :
- When saving objects , IRIS Properties will not be validated . It means IRIS Ignored the
Requiredkeyword . - When inserting or updating records , IRIS Yes, it will
Requiredkeyword .
Default
If you omit this keyword , Then the attribute is not read-only .
The first 108 Chapter Attribute keyword - Required
For persistence classes , The value of the specified attribute must be given a value first , Then it can be stored to disk . For enabled XML Class , It is necessary to specify the element to which the attribute is mapped .
usage
To specify attributes is required required Of , Please use the following syntax :
Property name As classname [ Required ]; otherwise , Omit this keyword or put the word Not Put in front of the keyword .
Detailed explanation
For persistent classes , This keyword specifies that before the containing object can be stored on disk , Attribute must be given a value ; If the attribute has no value , An error will occur .
- If the property is of type
%Stream, Then the stream cannot be empty . in other words , If%IsNull()Method returns 0, The flow attribute is considered to have a value . - For expansion
%XML.AdaptorClass , This keyword affects the correspondingXMLframework . If the attribute is markedREQUIRED, Then the corresponding element in the pattern does notminOccurs=“0”, Therefore, it is considered necessary .
In a subclass , Optional attributes can be marked as required , But not vice versa .
Be careful
If the attribute is marked as read-only and required required, Please pay attention to object access and SQL The following behavioral differences between visits :
- When saving objects , IRIS Properties will not be validated . It means IRIS Ignored the
Requiredkeyword . - When inserting or updating records , IRIS Yes, it will
Requiredkeyword .
Default
If you omit this keyword , The attribute is not required .
边栏推荐
- Leetcode——236. 二叉树的最近公共祖先
- Applet directory structure
- Million data document access of course design
- 2022pagc Golden Sail award | rongyun won the "outstanding product technology service provider of the year"
- 6、Electron无边框窗口和透明窗口 锁定模式 设置窗口图标
- Codes de non - retour à zéro inversés, codes Manchester et codes Manchester différentiels couramment utilisés pour le codage des signaux numériques
- 最长上升子序列模型 AcWing 482. 合唱队形
- Demis Hassabis谈AlphaFold未来目标
- Arm cortex-a9, mcimx6u7cvm08ad processor application
- Oracle Linux 9.0 officially released
猜你喜欢
随机推荐
属性关键字OnDelete,Private,ReadOnly,Required
IP and long integer interchange
Hangdian oj2092 integer solution
Multi merchant mall system function disassembly lecture 01 - Product Architecture
GAN发明者Ian Goodfellow正式加入DeepMind,任Research Scientist
SAKT方法部分介绍
[Reading stereo matching papers] [III] ints
docker部署oracle
wpf dataGrid 实现单行某个数据变化 ui 界面随之响应
Horizontal of libsgm_ path_ Interpretation of aggregation program
Vscode configuration uses pylint syntax checker
Oracle Linux 9.0 officially released
Substance Painter筆記:多顯示器且多分辨率顯示器時的設置
PLC:自动纠正数据集噪声,来洗洗数据集吧 | ICLR 2021 Spotlight
Data connection mode in low code platform (Part 2)
EMQX 5.0 发布:单集群支持 1 亿 MQTT 连接的开源物联网消息服务器
GVIM [III] [u vimrc configuration]
Cesium knows the longitude and latitude of one point and the distance to find the longitude and latitude of another point
Hands on Teaching: XML modeling
【愚公系列】2022年7月 Go教学课程 005-变量









