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

Vscode configuration uses pylint syntax checker
![[Reading stereo matching papers] [III] ints](/img/d3/4238432492ac3dc4ec14a971b8848d.png)
[Reading stereo matching papers] [III] ints

Notes de l'imprimante substance: paramètres pour les affichages Multi - écrans et multi - Résolutions

SAKT方法部分介绍

MRS离线数据分析:通过Flink作业处理OBS数据

LeetCode 648. 单词替换

Selenium Library

最长上升子序列模型 AcWing 1012. 友好城市

Parsing of XML files

Substance Painter笔记:多显示器且多分辨率显示器时的设置
随机推荐
潘多拉 IOT 开发板学习(HAL 库)—— 实验12 RTC实时时钟实验(学习笔记)
2022PAGC 金帆奖 | 融云荣膺「年度杰出产品技术服务商」
[Reading stereo matching papers] [III] ints
The longest ascending subsequence model acwing 1012 Sister cities
Excuse me, as shown in the figure, the python cloud function prompt uses the pymysql module. What's the matter?
Oracle Linux 9.0 officially released
OAuth 2.0 + JWT protect API security
Simple use of websocket
MRS离线数据分析:通过Flink作业处理OBS数据
Selenium库
c#通过frame 和 page 切换页面
Common response status codes
Leetcode - Sword finger offer 05 Replace spaces
GAN发明者Ian Goodfellow正式加入DeepMind,任Research Scientist
Cvpr2022 | backdoor attack based on frequency injection in medical image analysis
用例图
2022pagc Golden Sail award | rongyun won the "outstanding product technology service provider of the year"
多商戶商城系統功能拆解01講-產品架構
docker部署oracle
First choice for stock account opening, lowest Commission for stock trading account opening, is online account opening safe