当前位置:网站首页>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 .
边栏推荐
- 最长上升子序列模型 AcWing 1014. 登山
- 课设之百万数据文档存取
- Internal sort - insert sort
- Ascend 910实现Tensorflow1.15实现LeNet网络的minist手写数字识别
- Hangdian oj2054 a = = B? ???
- 2022PAGC 金帆奖 | 融云荣膺「年度杰出产品技术服务商」
- First choice for stock account opening, lowest Commission for stock trading account opening, is online account opening safe
- The longest ascending subsequence model acwing 482 Chorus formation
- 股票开户首选,炒股交易开户佣金最低网上开户安全吗
- [untitled]
猜你喜欢

Navigation - are you sure you want to take a look at such an easy-to-use navigation framework?

Hands on Teaching: XML modeling

Selenium Library

【历史上的今天】7 月 7 日:C# 发布;Chrome OS 问世;《仙剑奇侠传》发行

多商戶商城系統功能拆解01講-產品架構

Ian Goodfellow, the inventor of Gan, officially joined deepmind as research scientist

小程序目录结构

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

设备故障预测机床故障提前预警机械设备振动监测机床故障预警CNC震动无线监控设备异常提前预警

OAuth 2.0 + JWT 保护API安全
随机推荐
UML state diagram
gvim【三】【_vimrc配置】
寺岗电子称修改IP简易步骤
Substance painter notes: settings for multi display and multi-resolution displays
Excuse me, why is it that there are no consumption messages in redis and they are all piled up in redis? Cerely is used.
Selenium库
Leetcode - Sword finger offer 05 Replace spaces
Leetcode——236. 二叉树的最近公共祖先
OAuth 2.0 + JWT protect API security
electron remote 报错
OAuth 2.0 + JWT 保护API安全
Demis hassabis talks about alphafold's future goals
Common response status codes
交换机和路由器的异同
昇腾体验官第五期随手记I
数据流图,数据字典
多商戶商城系統功能拆解01講-產品架構
Source code analysis of ArrayList
CSMA/CD 载波监听多点接入/碰撞检测协议
Csma/cd carrier monitoring multipoint access / collision detection protocol