当前位置:网站首页>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 .
cascade
cascade — When deleting related records , The reference records in this table will also be deleted .noaction
No 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
Cardinality
Cardinality is the parent relationship ,OnDelete
It'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 ,
OnDelete
bynoaction
. 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
InitialExpression
keyword . - adopt
SQLComputeCode
keyword .
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
Required
keyword . - When inserting or updating records , IRIS Yes, it will
Required
keyword .
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.Adaptor
Class , This keyword affects the correspondingXML
framework . 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
Required
keyword . - When inserting or updating records , IRIS Yes, it will
Required
keyword .
Default
If you omit this keyword , The attribute is not required .
边栏推荐
- MLGO:Google AI发布工业级编译器优化机器学习框架
- [Reading stereo matching papers] [III] ints
- Oracle Linux 9.0 正式发布
- The longest ascending subsequence model acwing 1014 Mountaineering
- Arm cortex-a9, mcimx6u7cvm08ad processor application
- EfficientNet模型的完整细节
- UML 顺序图(时序图)
- IP address home location query
- Simple use of websocket
- When FC connects to the database, do you have to use a custom domain name to access it outside?
猜你喜欢
Navigation - are you sure you want to take a look at such an easy-to-use navigation framework?
2022pagc Golden Sail award | rongyun won the "outstanding product technology service provider of the year"
最长上升子序列模型 AcWing 1014. 登山
VSCode 配置使用 PyLint 语法检查器
Internal sort - insert sort
常用數字信號編碼之反向不歸零碼碼、曼徹斯特編碼、差分曼徹斯特編碼
js 获取当前时间 年月日,uniapp定位 小程序打开地图选择地点
Vscode configuration uses pylint syntax checker
Introduction to sakt method
数据湖(九):Iceberg特点详述和数据类型
随机推荐
Small game design framework
Cascading update with Oracle trigger
Hangdian oj2054 a = = B? ???
属性关键字ServerOnly,SqlColumnNumber,SqlComputeCode,SqlComputed
The longest ascending subsequence model acwing 1014 Mountaineering
NLLB-200:Meta开源新模型,可互译200种语言
最长上升子序列模型 AcWing 482. 合唱队形
Is the spare money in your hand better to fry stocks or buy financial products?
Selenium Library
IP address home location query full version
【愚公系列】2022年7月 Go教学课程 005-变量
js 获取当前时间 年月日,uniapp定位 小程序打开地图选择地点
AWS学习笔记(三)
MicTR01 Tester 振弦采集模块开发套件使用说明
Excusez - moi, l'exécution a été réussie lors de l'utilisation des données de puits SQL Flink à Kafka, mais il n'y a pas de nombre dans Kafka
Démontage de la fonction du système multi - Merchant Mall 01 - architecture du produit
属性关键字OnDelete,Private,ReadOnly,Required
ES日志报错赏析-trying to create too many buckets
Csma/cd carrier monitoring multipoint access / collision detection protocol
Cesium knows the longitude and latitude of one point and the distance to find the longitude and latitude of another point