当前位置:网站首页>属性关键字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
方法中实现。如果重写这些方法中的任何一个,则属性计算不起作用,除非重写的方法实现中有触发计算的规定。
边栏推荐
- 请问,PTS对数据库压测有好方案么?
- Cascading update with Oracle trigger
- 常用数字信号编码之反向不归零码码、曼彻斯特编码、差分曼彻斯特编码
- Excuse me, as shown in the figure, the python cloud function prompt uses the pymysql module. What's the matter?
- Details of redis core data structure & new features of redis 6
- OAuth 2.0 + JWT 保护API安全
- Ascend 910实现Tensorflow1.15实现LeNet网络的minist手写数字识别
- Is the spare money in your hand better to fry stocks or buy financial products?
- Leetcode——236. The nearest common ancestor of binary tree
- wpf dataGrid 实现单行某个数据变化 ui 界面随之响应
猜你喜欢
随机推荐
Pert diagram (engineering network diagram)
Is the spare money in your hand better to fry stocks or buy financial products?
LeetCode 648. Word replacement
Excuse me, when using Flink SQL sink data to Kafka, the execution is successful, but there is no number in Kafka
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
Cesium knows the longitude and latitude of one point and the distance to find the longitude and latitude of another point
wpf dataGrid 实现单行某个数据变化 ui 界面随之响应
WPF DataGrid realizes the UI interface to respond to a data change in a single line
Vscode configuration uses pylint syntax checker
Notes de l'imprimante substance: paramètres pour les affichages Multi - écrans et multi - Résolutions
多商戶商城系統功能拆解01講-產品架構
IP address home location query full version
请问,我kafka 3个分区,flinksql 任务中 写了 join操作,,我怎么单独给join
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
The longest ascending subsequence model acwing 482 Chorus formation
oracle 触发器实现级联更新
一个简单LEGv8处理器的Verilog实现【四】【单周期实现基础知识及模块设计讲解】
请问,如图,pyhon云函数提示使用了 pymysql模块,这个是怎么回事?
Simple use of websocket
【服务器数据恢复】某品牌StorageWorks服务器raid数据恢复案例