当前位置:网站首页>属性关键字ServerOnly,SqlColumnNumber,SqlComputeCode,SqlComputed
属性关键字ServerOnly,SqlColumnNumber,SqlComputeCode,SqlComputed
2022-07-07 12:38:00 【用户7741497】
第109章 属性关键字 - ServerOnly
指定是否将此属性投影到Java客户机。
用法
要指定属性是否被投影到Java客户端,请使用以下语法:
Property name As classname [ ServerOnly = n ];其中n是下列之一:
0表示此属性是投影的。1表示不投影该属性。
详解
此关键字指定属性是否被投影到Java客户端。
默认
如果省略此关键字,属性将被投影。
第110章 属性关键字 - SqlColumnNumber
指定此属性的SQL列号。仅适用于持久类。
用法
要指定属性的SQL列号,请使用以下语法:
Property name As classname [ SqlColumnNumber = 4 ]; 其中n是正整数。
详解
此关键字允许显式设置此属性的SQL列号。这是为了支持传统应用程序而提供的。
默认
默认值为空字符串。
第111章 属性关键字 - SqlComputeCode
指定设置此属性值的代码。
用法
要指定属性的计算方式,请使用以下语法:
Property name As classname [ SqlComputeCode = { Set {FieldName} = Expression }, SqlComputed ];FieldName—正在定义的属性的SQL字段名称。Expression—对象指定属性值的脚本表达式。
详解
如果指定了这个关键字(如果SqlComputed为真),那么这个属性就是一个计算属性。
对于此关键字的值,请根据以下规则指定(在大括号中)一行设置属性值的对象脚本代码:
- 若要引用此属性,请使用
{*}
或者,如果没有为属性指定SqlFieldName关键字,请使用{propertyname},其中propertyname是属性名称。如果为属性指定了SqlFieldName关键字,请使用{sqlfieldnamevalue},其中sqlfieldnamevalue是该关键字的值。
请注意,SqlFieldName对所有对象类都可用,尽管它只对持久类有用。
- 同样,要引用另一个属性,如果没有为该属性指定
SqlFieldName关键字,请使用{propertyname},其中propertyname是属性名称。如果为属性指定了SqlFieldName关键字,请使用{sqlfieldnamevalue},其中sqlfieldnamevalue是该关键字的值。 - 如果需要,代码可以包含多个
Set命令。等号前后允许有空格,尽管每个完整的Set语句必须出现在一行中。 - 代码可以通过通常的完整语法引用类方法、例程或子例程。同样,它可以使用ObjectScript函数和运算符。
- 代码可以包含嵌入式SQL。
- 代码可以包括以下伪字段引用变量,这些变量在类编译时被转换为特定的值:
{%%CLASSNAME}和{%%CLASSNAMEQ}都转换为投影了SQL表定义的类的名称。{%%CLASSNAME}返回不带引号的字符串,{%%CLASSNAMEQ}返回带引号的字符串。{%%TABLENAME}转换为表的完全限定名,以带引号的字符串形式返回。{%%ID}转换为RowID名称。当不知道RowID字段的名称时,此引用非常有用。
- 代码不能使用表单的语法
..propertyname或..methodname()
例如:
Property TestProp As %String [ SqlComputeCode = {set {*} = {OtherField}}, SqlComputed ];再举一个例子:
Property FullName As %String [ SqlComputeCode = {set {*}={FirstName}_" "_{LastName}}, SqlComputed ];代码是用Do命令调用的。
重要提示:
- 如果打算索引此字段,请使用确定性代码,而不是不确定性代码。 IRIS无法对不确定代码的结果维护索引,因为不可能可靠地删除过时的索引键值。(当传递相同的参数时,确定性代码每次都返回相同的值。例如,返回
h`是在函数控制之外修改的。)
SqlComputeCode中使用的任何用户变量在使用前都应该是新的。这防止了与相关代码中其他地方同名变量的任何冲突。
默认
默认值为空字符串。
第112章 属性关键字 - SqlComputed
指定这是否是计算属性。
用法
要指定计算此属性,请使用以下语法:
Property name As classname [ SqlComputeCode = sqlcomputecode, SqlComputed ];其中sqlcomputecode在SqlComputeCode中描述。
否则,省略此关键字或将单词Not放在关键字的前面。
详解
如果此关键字为真(并且属性还指定了SqlComputeCode),则此属性是计算属性。
如果一个属性具有SqlComputed关键字的值, IRIS将使用该值来计算该属性。具体来说,从SqlComputeCode生成了一个新的类方法<property>Compute。从属性的<property>Get方法调用此方法。如果属性还指定了SqlComputeOnChange关键字,则在指定的时间调用<property>Compute方法。
该功能在<property>Get 和<property>Set方法中实现。如果重写这些方法中的任何一个,则属性计算不起作用,除非重写的方法实现中有触发计算的规定。
边栏推荐
- 一个简单LEGv8处理器的Verilog实现【四】【单周期实现基础知识及模块设计讲解】
- Leetcode——236. The nearest common ancestor of binary tree
- Leetcode——344. 反转字符串/541. 反转字符串 II/151. 颠倒字符串中的单词/剑指 Offer 58 - II. 左旋转字符串
- Substance Painter笔记:多显示器且多分辨率显示器时的设置
- UML state diagram
- Hangdian oj2092 integer solution
- oracle 非自动提交解决
- The longest ascending subsequence model acwing 1014 Mountaineering
- NLLB-200:Meta开源新模型,可互译200种语言
- 数据湖(九):Iceberg特点详述和数据类型
猜你喜欢

VSCode 配置使用 PyLint 语法检查器

Data flow diagram, data dictionary

OAuth 2.0 + JWT 保护API安全

UML state diagram

AutoCAD - how to input angle dimensions and CAD diameter symbols greater than 180 degrees?

docker部署oracle

The longest ascending subsequence model acwing 482 Chorus formation

2022PAGC 金帆奖 | 融云荣膺「年度杰出产品技术服务商」

UML sequence diagram (sequence diagram)

常用數字信號編碼之反向不歸零碼碼、曼徹斯特編碼、差分曼徹斯特編碼
随机推荐
Realization of search box effect [daily question]
Nllb-200: meta open source new model, which can translate 200 languages
一个程序员的水平能差到什么程度?尼玛,都是人才呀...
docker部署oracle
Cesium 已知一点经纬度和距离求另一个点的经纬度
请问,我kafka 3个分区,flinksql 任务中 写了 join操作,,我怎么单独给join
When FC connects to the database, do you have to use a custom domain name to access it outside?
Million data document access of course design
LeetCode 648. Word replacement
SAKT方法部分介绍
Transferring files between VMware and host
WPF DataGrid realizes the UI interface to respond to a data change in a single line
Démontage de la fonction du système multi - Merchant Mall 01 - architecture du produit
Regular expression integer positive integer some basic expressions
UML sequence diagram (sequence diagram)
IP address home location query
Differences between cookies and sessions
Navigation — 这么好用的导航框架你确定不来看看?
请问,redis没有消费消息,都在redis里堆着是怎么回事?用的是cerely 。
Internal sort - insert sort