[toc]
第九十二章 SQL函数 LPAD
字符串函数,它返回一个左填充到指定长度的字符串。
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
第九章 其他参考资料(二)
特殊变量 (SQL)
系统提供的变量。
$HOROLOG
$JOB
$NAMESPACE
$TLEVEL
$USERNAME
$ZHOROLOG
$ZJOB
$ZPI
$ZTIMESTAMP
$ZTIMEZONE
$ZVERSION
SQL直接支持许多对象脚本特殊变量。这些变量包含系统提供的值。只要可以在SQL中指定文字值,就可以使用它们。
SQL特殊变量名不区分大小写。大多数可以使用缩写来指定。
第七十二章 SQL函数 LAST_IDENTITY
返回最后插入、更新、删除或读取的行的标识的标量函数。
大纲
LAST_IDENTITY()
描述
LAST_IDENTITY
函数返回%ROWID
局部变量值。在嵌入式SQL
或ODBC
中将%ROWID
局部变量设置为一个值。动态SQL、SQL Shell或管理门户SQL界面未将%ROWID
局部变量设置为值。动态SQL改为设置%ROWID
对象属性。
LAST_IDENTITY
函数不接受任何参数。请注意,参数括号是必需的。
LAST_IDENTITY
返回受当前进程影响的最后一行的标识字段值。如果表没有标识字段,则返回受当前进程影响的最后一行的行ID(%ROWID
)。返回值为数据类型INTEGER
。
随着InterSystems IRIS 2020.1和InterSystems IRIS for Health 2020.1中PEX的发布,客户有了比Java Business Host更好的方式来构建Java的产品。PEX为构建互操作性组件提供了一套完整的API,并有Java和.NET两种版本。
上个帖子写了TuneTable的执行, 提到了SQL优化器使用的那些统计数据, 这里逐一的介绍一下这些统计项。了解它们看懂和分析SQL执行计划的基础。 如果您不需要做单个查询的优化工作,可以调过这部分内容。
表的统计项
- Extent Size: 表的大小,也就是记录数。在执行多表关联(JOIN)的查询时,SQL优化器会根据Extent Size值,从数据量最小的表来开始执行查询。
您还需要了解:表创建的时候Extent Size会获得一个初始值,而之后的插入修改数据并不自动修改这个值。而只有执行TuneTable才会修改这个。 这也就是为什么没有执行过TuneTable的数据库SQL性能好不了的原因。下图中的Patient表,可以看出有1,000,000记录
欢迎了解2022年7月社区的最新动态!
最近我们进行了很多有趣的提升,以优化你在InterSystems开发者社区的体验:
📌 社交网络通知功能
📌 改进了订阅设置
📌 全新的“关于我们”页面
📌 更友好的“会员”页面
我们来详细看看这些改进!
第三十二章 管理许可(五)
Identifying Users
IRIS
许可系统识别不同的用户并为每个用户分配一个许可单元。用户由许可证用户 ID
标识,该 ID
可以是 IP
地址、用户名、Web
会话 ID 或其他标识符,具体取决于用户的连接方式。
由单个用户启动或为单个用户启动的多个进程共享一个许可证单元,最多可达每个用户的最大进程数。如果进程数超过此最大值,则会发生转换 IRIS
开始为该用户 ID
的每个进程分配一个许可单元。系统假设如果与用户 ID
关联的进程数超过最大值,则多个用户正在通过中介(例如防火墙系统)访问 IRIS
,因此需要额外的许可证单元。 (由 Job
命令启动的进程计入调用该命令的用户 ID
下。)
第二十七章 开发Productions - ObjectScript Productions - 定义业务流程 - 关键原则
关键原则
在开发业务流程时,请考虑以下关键原则:
- 有时希望使响应对象成为传入请求对象的修改版本,分阶段进行修改可能很有用。但是,不要修改传入的请求对象。而是将其复制到上下文变量(或者,对于自定义业务流程,将数据复制到局部变量)。然后修改副本。
- 同步发送消息时要小心(只能在自定义业务流程中或
BPL
中的 <code>
中执行)。
当业务流程A
同步调用业务流程B时,流程A不会继续,直到收到响应。如果进程 A
需要完成对其他进程 (B
) 的调用才能完成自身,并且如果这些进程共享参与者作业池,则如果没有空闲的参与者作业来处理被调用的业务流程,则参与者池可能会陷入死锁( B
).
发生这种情况是因为在被调用业务流程返回之前,调用业务流程无法完成并释放参与者作业,但被调用业务流程无法执行,因为没有空闲的参与者作业来执行它。
第十三章 配置任务管理器电子邮件设置
可以将任务管理器设置为在任务完成时发送电子邮件通知,在任务管理器电子邮件设置页面(系统管理 > 配置 > 其他设置 > 任务管理器电子邮件),可以配置通知设置:
发送 SMTP
(简单邮件传输协议)邮件服务器的地址和端口
如果要使用 SSL/TLS
加密电子邮件,则要使用的 SSL
配置。如果实例上没有 SSL
配置,或者想创建一个新配置,请参阅创建或编辑 TLS
配置。如果您不选择 SSL
配置,则不会使用 SSL/TLS
。
第十章 SQL谓词 IN
将值匹配到以逗号分隔的非结构化列表中的项。
大纲
scalar-expression IN (item1,item2[,...])
scalar-expression IN (subquery)
参数
scalar-expression
- 标量表达式(最常见的是数据列),将其值与以逗号分隔的值列表或子查询生成的结果集进行比较。
item
- 一个或多个文本值、输入主机变量或解析为文本值的表达式。
以任何顺序列出,以逗号分隔。
subquery
- 一个用括号括起来的子查询,它从单个列返回一个结果集,用于与标量表达式进行比较。
描述
IN
谓词用于将值匹配到非结构化的项系列。
通常,它将列数据值与以逗号分隔的值列表进行比较。
IN
可以执行相等比较和子查询比较。
第四十一章 SQL函数 DATE
接受时间戳并返回日期的函数。
大纲
DATE(timestamp)
参数
timestamp
- 指定时间戳或其他日期或日期和时间表示形式的表达式。
描述
Date
接受时间戳表达式并返回日期。返回值的数据类型为Date
。这在功能上与CAST
相同(时间戳与日期相同)。它接受具有以下任何数据类型类(或其子类)的时间戳值:%Library.TimeStamp
、%Library.PosiTime
、%Library.Date
和%Library.Integer
或%Library.Numerical
(用于隐式逻辑日期,如+$HOROLOG
)。它还可以接受格式与%Library.TimeStamp
(有效的ODBC日期)兼容的%Library.String
值。
第十八章 源代码文件 REST API 教程(三)
编译文件
Compile
方法编译传入 JSON
数组中名称指定的源代码文件。例如,要编译 xyz.mac
,请发布以下内容:
http://localhost:52773/api/atelier/v1/INVENTORY/action/compile
使用以下 JSON
消息:
["xyz.mac"]
该方法返回:
第七十四章 SQL命令 SET TRANSACTION
设置事务的参数。
统计信息
✓ 十一月发布了
18 篇新帖子:
– 8篇新文章
– 8个新公告
– 2个新问题
✓ 十一月有
49 位新成员加入
✓ 截至目前共发布了
2,002 篇帖子
✓ 截至目前共有
1,595 位成员加入
第七十四章 SQL函数 LEAST
从一系列表达式中返回最小值的函数。
大纲
LEAST(expression,expression[,...])
参数
expression
- 解析为数字或字符串的表达式。
将这些表达式的值相互比较,并返回最小值。
表达式可以是字段名、文字、算术表达式、主机变量或对象引用。
最多可以列出140
个逗号分隔的表达式。
描述
LEAST
从逗号分隔的表达式序列中返回最小值。
表达式按从左到右的顺序求值。
如果只提供一个表达式,则LEAST
返回该值。
如果任何表达式为NULL
, LEAST
返回NULL
。
第十章 设置结构化日志记录(二)
注:IRIS有,Cache无。
启用结构化日志记录
^LOGDMN
例程允许管理结构化日志记录;还有一个基于类的 API
,将在下一节中介绍。
要使用 ^LOGDMN
启用结构化日志记录:
- 打开终端并输入以下命令:
set $namespace="%sys"
do ^LOGDMN
这将启动一个带有以下提示的例程:
问题如标题。尝试过改变java网关端口,还是会经常出现报错,错误如下图:
第155章 SQL函数 UPPER
将字符串表达式中的所有小写字母转换为大写字母的大小写转换函数。
大纲
UPPER(expression)
UPPER expression
参数
expression
- 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR
或 VARCHAR
)。
描述
UPPER
函数将所有字母字符转换为大写字母。这是 LOWER
函数的反函数。 UPPER
保留不变的数字、标点符号和前导或尾随空格。
UPPER
不强制将数字解释为字符串。 SQL 从数字中删除前导零和尾随零。指定为字符串的数字保留前导零和尾随零。
也可以使用 UPPER()
方法调用从 ObjectScript 调用此函数:
医院目前即将使用iris2023.1;里面包含了%External.Messaging.KafkaClient 类,需要设置kafka的链接,发送kafka消息,然后断开链接,能否跟springboot 一样;自动配置,kafka的链接交给iris来管理,保持长链接,不要断开;直接使用%External.Messaging.KafkaClient 发送消息;
第三十八章 在 UNIX®、Linux 和 macOS 上使用 IRIS(三)
管理 IRIS
在 shell
中,具有 sysmgr
组中任何用户 ID
的用户都可以运行 iris
,它调用 install-dir/bin
目录中的 IRIS
可执行文件和脚本.以下部分描述了如何在 IRIS
实例上执行这些管理任务:
重要提示:安装的所有者拥有启动和停止实例、执行系统管理以及为该实例运行诊断程序的完全权限。
[toc]
第四十六章 功能跟踪器收集使用统计信息
作为 不断努力改进其产品以满足客户需求的一部分, 在 IRIS®
数据平台中包含一个名为 Feature Tracker
的软件实用程序,该软件实用程序收集软件模块使用情况的统计数据。本主题介绍特征跟踪器。
为什么 InterSystems 收集统计数据
Feature Tracker
收集的统计数据记录软件模块是否存在并在给定的 IRIS
实例中使用。 Feature Tracker
每周通过 https
将此信息发送给 InterSystems
。这些统计数据有助于 InterSystems
规划开发和支持。
收集的信息不包括任何应用程序数据。
第二十三章 SQL函数 CAST(二)
转换位值
可以将expr
值转换为BIT
以返回0
或1
。
如果expr
为1
或任何其他非零数值,则返回1
。
如果expr
为“TRUE”
、“TRUE”
或“TRUE”
,则返回1
。
(“True”
可以用任何大小写组合表示,但不能缩写为“T”
。)
如果expr
是任何其他非数值值,则返回0
。
如果expr
为0
,则返回0
。
在下面的例子中,前5
个CAST
操作返回1
,后5
个CAST
操作返回0:
第125章 SQL函数 SIGN
返回给定数值表达式符号的数值函数。
大纲
SIGN(numeric-expression)
{fn SIGN(numeric-expression)}
参数
numeric-expression
- 要为其返回符号的数字。
SIGN
返回 SMALLINT
数据类型。
第六章 数据类型(五)
数据类型的整数代码
在查询元数据和其他上下文中,为列定义的数据类型可以作为整数代码返回。 CType
(客户端数据类型)整数代码列在 %SQL.StatementColumn
clientType
属性中。
ODBC 和 JDBC 使用 xDBC 数据类型代码 (SQLType)。 ODBC 数据类型代码由 %SQL.Statement.%Metadata.columns.GetAt()
方法返回,如上例所示。 SQL Shell 元数据还返回 ODBC 数据类型代码。 JDBC 代码与 ODBC 代码相同,除了时间和日期数据类型的表示。下面列出了这些 ODBC 和 JDBC 值:
第十六章 字符串本地化和消息字典(二)
XML 消息文件
XML
消息文件是消息字典的导出。这也是希望导入的任何消息的必需格式。
只要有可能,XML
消息文件应该使用 UTF-8
编码。但是,在某些情况下,开发人员或翻译人员可能会使用本地平台编码,例如 shift-jis
,以便于编辑 XML 消息文件。无论 XML
文件使用何种编码,应用程序的语言环境都必须支持它,并且它必须能够表达该语言的消息。
XML
消息文件可能包含一种语言和多个域的消息。
Element
<MsgFile>
元素是 XML 消息文件的顶级容器,每个文件只有一个 <MsgFile>
元素。
InterSystems IRIS IntegratedML功能用于使用AutoML技术获得机器学习的预测结果和概率。AutoML是一种机器学习技术,用于选择更好的机器学习算法/模型基于已有数据(用于训练AutoML模型的数据)来预测状态、数字和结果。你不需要一个数据科学家,因为AutoML会测试最常见的机器学习算法,并根据分析的数据特征选择更好的算法给你。在这篇文章中可以看到更多管乐IntegratedML的信息。
InterSystems IRIS有一个内置的AutoML引擎,但也允许你使用H2O和DataRobot。在这篇文章中,我将向你展示使用InterSystems AutoML引擎的每个步骤。
第1步 - 下载样例应用程序做练习
1. 转到 https://openexchange.intersystems.com/package/Health-Dataset
2. Clone/git 将 Repo拉到任何本地目录中
第五十七章 开发Productions - ObjectScript Productions - 不常见的任务 - 以编程方式使用查找表
IRIS
提供了名为 Lookup()
的实用函数,以便可以轻松地从业务规则或 DTL
数据转换中执行表查找。此功能仅在创建至少一个查找表并用适当的数据填充后才起作用。
有关定义查找表的信息,请参阅配置产品中的定义数据查找表。
如果需要比管理门户提供的更直接的查找表操作,请在类中使用 Ens.Util.LookupTable
。此类公开查找表以通过对象或 SQL
进行访问。此外,它还提供类方法来清除表、将数据导出为 XML
以及从 XML
导入数据。
Ens.Util.LookupTable
提供以下字符串属性:
第十六章 SQL函数 ABS
返回数值表达式的绝对值的数值函数。
大纲
ABS(numeric-expression)
{fn ABS(numeric-expression)}
参数
numeric-expression
- 要返回其绝对值的数字。
ABS
返回与数字表达式相同的数据类型。
描述
ABS
返回绝对值,它总是0
或正数。
如果数值表达式不是一个数字(例如,字符串'abc'
,或空字符串''
),ABS
返回0
。
当传递null
值时,ABS
返回<null>
。
请注意,ABS
可以用作ODBC
标量函数(带有花括号语法),也可以用作SQL
通用函数。
第105章 SQL函数 %OID
返回 ID
字段的 OID
的标量函数。
大纲
%OID(id_field)
参数
id_field
- ID
字段或引用字段的字段名称。
描述
%OID
采用字段名称并返回对象的完整 OID
(对象 ID
)。该字段必须是 ID
字段或引用字段(外键字段)。在 id_field
中指定任何其他类型的字段会生成 SQLCODE -1
错误。
示例
以下示例显示了与引用字段一起使用的 %OID
:
第117章 SQL函数 REPLICATE
将字符串重复指定次数的字符串函数。
大纲
REPLICATE(expression,repeat-count)
参数
expression
- 要重复的字符串表达式。
repeat-count
- 重复的次数,以整数表示。
描述
注意:REPLICATE
函数是 REPEAT
函数的别名。提供 REPLICATE
是为了与 TSQL
兼容。有关详细信息,请参阅重复。