当前位置:网站首页>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 .
边栏推荐
猜你喜欢

Data connection mode in low code platform (Part 2)

常用数字信号编码之反向不归零码码、曼彻斯特编码、差分曼彻斯特编码

Substance painter notes: settings for multi display and multi-resolution displays

AWS学习笔记(三)

【服务器数据恢复】某品牌StorageWorks服务器raid数据恢复案例

Hands on Teaching: XML modeling

一个程序员的水平能差到什么程度?尼玛,都是人才呀...

Simple use of websocket

Use case diagram

GAN发明者Ian Goodfellow正式加入DeepMind,任Research Scientist
随机推荐
EMQX 5.0 发布:单集群支持 1 亿 MQTT 连接的开源物联网消息服务器
UML sequence diagram (sequence diagram)
Docker deploy Oracle
Substance Painter笔记:多显示器且多分辨率显示器时的设置
Hangdian oj2092 integer solution
請問,在使用flink sql sink數據到kafka的時候出現執行成功,但是kafka裏面沒有數
Hands on Teaching: XML modeling
PD虚拟机教程:如何在ParallelsDesktop虚拟机中设置可使用的快捷键?
IP address home location query full version
Navigation — 这么好用的导航框架你确定不来看看?
Internal sort - insert sort
一款你不容错过的Laravel后台管理扩展包 —— Voyager
Leetcode one question per day (636. exclusive time of functions)
Small game design framework
AWS学习笔记(三)
Multi merchant mall system function disassembly lecture 01 - Product Architecture
VSCode 配置使用 PyLint 语法检查器
Ascend 910实现Tensorflow1.15实现LeNet网络的minist手写数字识别
Reverse non return to zero code, Manchester code and differential Manchester code of common digital signal coding
课设之百万数据文档存取