文章 Qiao Peng · 三月 5, 2021 阅读大约需 2 分钟 通过 SQL SELECT 显示 Global 这是一个第三方写的在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例 不会与新版本保持同步 也不会获得 InterSystems 支持提供的服务! Caché/Ensemble/IRIS 中的 Global 通常在 SQL 访问中是不可见的 本示例将展示如何克服此限制。 #SQL #Globals #提示和技巧 #测试 #Caché #Ensemble #InterSystems IRIS Open Exchange app 0 1 0 177
问题 Michael Lei · 二月 5, 2022 为某一个给定类获取SQL 表名称(答案见英文社区) 假设有一个类 "X.Y.Z" 它的SQL表名称是什么?如何通过ObjectScript获取?? 快速的搜素不能显示任何方法或属性。文档有点 "不对" 说 SQL 表名称是一样的. 至少应该是 'x_y.z'. 答案见英文社区:https://community.intersystems.com/post/getting-sql-table-name-given-class #ObjectScript #SQL #InterSystems IRIS 0 1 0 176
问题 Michael Lei · 六月 16, 2021 来自海外社区的问题:在Ensemble中使用SQL进行批量插入 在Ensemble中使用SQL进行批量插入你好,社区。 我试图在一个表中插入多个值。下面是简单的SQL语句。 插入到表X中 values ('Name', 'Address', 'Phone') 我怎样才能在一条语句中进行多次插入(行)? 数值不在另一个表中,所以我不能使用选择进入。 谢谢。 吉米-克里斯蒂安 Hello Community, I am trying to insert multiple values in a table. Below is the simple sql statement. Insert Into TableX values ('Name', 'Address', 'Phone') #SQL #Ensemble 0 1 0 122
文章 姚 鑫 · 五月 20, 2022 阅读大约需 3 分钟 第148章 SQL函数 $TRANSLATE 第148章 SQL函数 $TRANSLATE 执行逐字符替换的字符串函数。 大纲 $TRANSLATE(string,identifier[,associator]) 参数 string - 目标字符串。它可以是字段名称、文字、主机变量或 SQL 表达式。 identifier - 要在字符串中搜索的字符。它可以是字符串或数字文字、主变量或 SQL 表达式。 associator - 可选 — 与标识符中的每个字符对应的替换字符。它可以是字符串或数字文字、主变量或 SQL 表达式。 描述 $TRANSLATE 函数在返回值字符串中执行逐字符替换。它一次处理一个字符的字符串参数。它将字符串中的每个字符与标识符参数中的每个字符进行比较。如果 $TRANSLATE 找到匹配项,它会记下该字符的位置。 #SQL #Caché 1 1 1 156
文章 姚 鑫 · 三月 27, 2021 阅读大约需 11 分钟 第十三章 使用动态SQL(五) 第十三章 使用动态SQL(五) 从结果集中返回特定的值 要从查询结果集中返回特定的值,必须一次一行遍历结果集。 要遍历结果集,请使用%Next()实例方法。 (对于单一值,结果对象中没有行,因此%Next()返回0,而不是错误。) 然后,可以使用%Print()方法显示整个当前行的结果,或者检索当前行的指定列的值。 %Next()方法获取查询结果中下一行的数据,并将该数据放入结果集对象的data属性中。 %Next()返回1,表示它位于查询结果中的某一行上。 %Next()返回0,表示它位于最后一行(结果集的末尾)之后。 每次调用%Next()返回1个增量%ROWCOUNT; 如果游标定位在最后一行之后(%Next()返回0),%ROWCOUNT表示结果集中的行数。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 220
文章 Lele Yang · 七月 13, 2021 阅读大约需 2 分钟 FAQ 常见问题系列--互操作篇 使用SQL Outbound Adapter调用Oracle存储过程获取CLOB的正确方式 近日遇到客户反映在Business Operation中使用SQL Outbound Adapter调用Oracle存储过程时,无法获取CLOB完整的返回内容。借此在这里介绍下该如何调用,话不多说,直接上代码。 注意,以下代码片段直接应用于Business Operation中, #SQL 0 1 0 154
文章 Muhammad Waseem · 十月 16, 2021 阅读大约需 2 分钟 如何使用HL7相應地更新結果參考範圍和異常標誌 在本文中,我將演示以下內容: 使用自定義實用程序函數從數據庫更新 ReferencesRange(OBX:7) 針對 ObservationIdentifier(OBX:3.1)[TestCode] 根據數據庫實用程序函數中的 ObservationIdentifier(OBX:3.1)[TestCode] 和 ObservationValue(OBX:5)[Result] 更新異常標誌 (OBX:8) 基於異常標誌的路由消息 (OBX:8) 以下是主要和轉換後的 HL7 2.5 ORU_R01 消息: #数据转换语言(DTL) #SQL #业务规则 #Ensemble #InterSystems IRIS for Health Open Exchange app 0 1 0 126
文章 姚 鑫 · 三月 11, 2021 阅读大约需 10 分钟 第八章 SQL修改数据库 第八章 SQL修改数据库 可以对现有的表使用SQL语句,也可以对相应的持久化类使用ObjectScript操作来修改InterSystems IRIS®数据平台数据库的内容。 不能修改定义为只读的持久类(表)。 使用SQL命令为维护数据的完整性提供了自动支持。 SQL命令是一个原子操作(全部或没有)。 如果表上定义了索引,SQL将自动更新它们以反映更改。 如果定义了任何数据或引用完整性约束,SQL将自动执行它们。 如果有任何已定义的触发器,执行这些操作将拉动相应的触发器。 插入数据 可以使用SQL语句或设置和保存持久化类属性将数据插入表中。 使用SQL插入数据 INSERT语句将一条新记录插入SQL表中。 可以插入一条记录或多条记录。 下面的示例插入一条记录。 它是插入单个记录的几种可用语法形式之一: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 309
文章 姚 鑫 · 三月 28, 2021 阅读大约需 7 分钟 第十三章 使用动态SQL(六) 第十三章 使用动态SQL(六) 用%ObjectSelectMode = 1 Swizzling字段名称属性 下面的示例使用%ObjectSelectMode = 1进行准备,当使用字段名称属性返回值时,其类型类别为可Swizzle类型的字段(持久性类,序列类或流类)将自动发生Swizzle。转换字段值的结果是相应的对象参考(oref)。使用%Get()或%GetData()方法访问字段时,InterSystems IRIS不会执行此筛选操作。在此示例中,rset.Home处于Swizzle状态,而引用同一字段的rset.%GetData(2)处于not swizzled状态: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 138
文章 姚 鑫 · 四月 15, 2021 阅读大约需 10 分钟 第二章 定义和构建索引(三) # 第二章 定义和构建索引(三) # 位图索引 位图索引是一种特殊类型的索引,它使用一系列位串来表示与给定索引数据值相对应的一组ID值。 位图索引具有以下重要功能: 位图是高度压缩的:位图索引可以比标准索引小得多。这大大减少了磁盘和缓存的使用量。 位图操作针对事务处理进行了优化:与使用标准索引相比,可以在表中使用位图索引,而不会降低性能。 位图上的逻辑操作(counting、AND和OR)经过优化以获得高性能。 SQL引擎包括许多可以利用位图索引的特殊优化。 位图索引的创建取决于表的唯一标识字段的性质: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 94
文章 姚 鑫 · 五月 2, 2021 阅读大约需 5 分钟 第一章 简介global 第一章 简介global InterSystems IRIS®的核心功能之一是其多维存储引擎。此功能允许应用程序以紧凑、高效的多维稀疏数组存储数据。这些数组称为全局数组。 本章介绍: - 什么是全局变量(globals ),以及可以对其执行的操作。 - 全局变量的逻辑和物理结构,包括在分布式数据库体系结构中使用全局变量。 - 如何使用全局变量在应用程序中存储和检索数据。 - 如何使用全局变量。 特点 全局变量提供了一种在持久的多维数组中存储数据的易于使用的方法。 例如,可以使用名为^Settings的全局变量将值“Red”与键“Color”相关联: SET ^Settings("Color")="Red" 可以利用全局变量的多维特性来定义更复杂的结构: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 197
文章 姚 鑫 · 五月 15, 2021 阅读大约需 4 分钟 第一章 单元测试概述 第一章 单元测试概述 本教程的第一部分概述了单元测试。完成本教程的这一部分后,将能够: - 定义单元测试并区分单元测试和集成测试 - 列出单元测试的几个好处 - 描述InterSystems IRIS %UnitTest包和xUnit测试框架之间的相似性。 - 列出软件开发中测试优先方法经常声称的几个好处。 什么是单元测试? 单元测试是对单个代码模块的正确性的测试,例如,方法或类的测试。通常,开发人员在开发代码时为其代码创建单元测试。典型的单元测试是一种执行方法的方法,该方法测试并验证该方法是否为给定的一组输入生成了正确的输出。 单元测试不同于集成测试。集成测试验证了一组代码模块交互的正确性。单元测试仅单独验证代码模块的正确性。一组代码模块的集成测试可能会失败,即使每个模块都通过了单元测试。 为什么要进行单元测试? 单元测试提供了许多好处,包括: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 77
文章 姚 鑫 · 八月 30, 2021 阅读大约需 9 分钟 第一章 SQL命令 ALTER TABLE(一) 第一章 SQL命令 ALTER TABLE(一) 修改表。 #SQL #Caché 0 0 0 123
文章 姚 鑫 · 九月 15, 2021 阅读大约需 10 分钟 第十六章 SQL命令 CREATE TABLE(三) 第十六章 SQL命令 CREATE TABLE(三) 字段数据约束 数据约束控制字段允许使用的值、字段的默认值以及数据值使用的排序规则类型。所有这些数据约束都是可选的。可以按任何顺序指定多个数据约束,并以空格分隔。 NULL和NOT NULL NOT NULL数据约束关键字指定该字段不接受空值;换句话说,每条记录都必须为该字段指定一个值。NULL和空字符串('') IRIS中是不同的值。可以在接受字符串的字段中输入空字符串,即使该字段定义了NOT NULL限制也是如此。不能在数值字段中输入空字符串。 NULL数据约束关键字显式指定此字段可以接受空值;这是字段的默认定义。 #SQL #Caché 0 0 0 264
文章 姚 鑫 · 十月 1, 2021 阅读大约需 2 分钟 第三十二章 SQL命令 DROP FUNCTION 第三十二章 SQL命令 DROP FUNCTION 删除函数 #SQL #Caché 0 0 0 91
文章 姚 鑫 · 十月 16, 2021 阅读大约需 8 分钟 第四十七章 SQL命令 GRANT(一) 第四十七章 SQL命令 GRANT(一) 向用户或角色授予特权。 #SQL #Caché 0 0 0 136
文章 姚 鑫 · 十一月 1, 2021 阅读大约需 8 分钟 第六十三章 SQL命令 ORDER BY(一) 第六十三章 SQL命令 ORDER BY(一) 指定结果集中行排序的SELECT子句。 #SQL #Caché 0 0 0 114
文章 姚 鑫 · 十一月 18, 2021 阅读大约需 9 分钟 第八十章 SQL命令 UNION 第八十章 SQL命令 UNION 组合两个或多个SELECT语句。 #SQL #Caché 0 0 0 129
文章 姚 鑫 · 十二月 18, 2021 阅读大约需 5 分钟 第十九章 SQL谓词 %STARTSWITH(一) 第十九章 SQL谓词 %STARTSWITH(一) 用指定初始字符的子字符串匹配值。 大纲 scalar-expression %STARTSWITH substring 参数 scalar-expression - 将其值与子字符串进行比较的标量表达式(最常见的是数据列)。 substring - 解析为包含与标量表达式中的值匹配的第一个或多个字符的字符串或数字的表达式。 描述 %STARTSWITH谓词允许选择以子字符串中指定的字符开头的数据值。 如果substring不匹配任何标量表达式值,%STARTSWITH返回空字符串。 无论显示模式如何,这个匹配总是在逻辑(内部存储)数据值上执行。 下面的示例选择所有以“M”开头的名称: #SQL #Caché 0 0 0 156
文章 姚 鑫 · 一月 5, 2022 阅读大约需 3 分钟 第十五章 SQL窗口函数概述(二) 第十五章 SQL窗口函数概述(二) ROW子句 ROW子句可以与FIRST_VALUE(字段)和SUM(字段)窗口函数一起使用。 可以为其他windows函数指定它,但不执行任何操作(有或没有ROWS子句的结果相同)。 ROWS子句有两种语法形式: ROWS framestart ROWS BETWEEN framestart AND frameend Framestart和frameend有五个可能的值: #SQL #Caché 0 0 0 79
文章 姚 鑫 · 一月 23, 2022 阅读大约需 1 分钟 第三十二章 SQL函数 COS 第三十二章 SQL函数 COS 标量数值函数,返回一个角的余弦值(以弧度为单位)。 大纲 {fn COS(numeric-expression)} 参数 numeric-expression - 数值表达式。 这是一个用弧度表示的角。 COS返回NUMERIC或DOUBLE数据类型。 如果数值表达式是数据类型DOUBLE, COS返回DOUBLE; 否则,返回NUMERIC。 #SQL #Caché 0 0 0 40
文章 姚 鑫 · 二月 7, 2022 阅读大约需 2 分钟 第四十七章 SQL函数 DAYNAME 第四十七章 SQL函数 DAYNAME Date函数,它返回日期表达式的星期几的名称。 大纲 {fn DAYNAME(date-expression)} 参数 date-expression - 计算结果为日期整数、ODBC日期或时间戳的表达式。该表达式可以是列名、另一个标量函数的结果或日期或时间戳文字。 描述 DAYNAME返回与指定日期对应的日期的名称。返回值为字符串,最大长度为15。默认返回的日期名称为:Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday。 要更改这些默认日期名称值,请使用带有WEEKDAY_NAME选项的SET OPTION命令。 #SQL #Caché 0 0 0 41
文章 姚 鑫 · 二月 21, 2022 阅读大约需 3 分钟 第六十一章 SQL函数 GREATEST 第六十一章 SQL函数 GREATEST 从一系列表达式中返回最大值的函数。 大纲 GREATEST(expression,expression[,...]) 参数 expression - 解析为数字或字符串的表达式。 对这些表达式的值进行比较。 表达式可以是字段名、文字、算术表达式、主机变量或对象引用。 最多可以列出140个逗号分隔的表达式。 描述 GREATEST返回逗号分隔的一系列表达式中的最大值。 表达式按从左到右的顺序求值。 如果只提供一个表达式,则GREATEST返回该值。 如果任何表达式为NULL,则GREATEST返回NULL。 #SQL #Caché 0 0 0 72
文章 姚 鑫 · 三月 9, 2022 阅读大约需 1 分钟 第七十六章 SQL函数 LEN 第七十六章 SQL函数 LEN 返回字符串表达式中字符数的字符串函数。 大纲 LEN(string-expression) 参数 string-expression - 字符串表达式,可以是列名、字符串文字或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHAR 或 VARCHAR)。 LEN 返回 INTEGER 数据类型。 描述 注意:LEN 函数是 LENGTH 函数的别名。 SELECT len("yaoxin") 6 #SQL #Caché 0 0 0 74
文章 姚 鑫 · 三月 25, 2022 阅读大约需 2 分钟 第九十二章 SQL函数 LPAD [toc] 第九十二章 SQL函数 LPAD 字符串函数,它返回一个左填充到指定长度的字符串。 #SQL #Caché 0 0 0 59
文章 姚 鑫 · 四月 9, 2022 阅读大约需 7 分钟 第107章 SQL函数 $PIECE 第107章 SQL函数 $PIECE 返回由分隔符标识的子字符串的字符串函数。 #SQL #Caché 0 0 0 106
文章 姚 鑫 · 四月 24, 2022 阅读大约需 2 分钟 第122章 SQL函数 RTRIM 第122章 SQL函数 RTRIM 字符串函数,它返回一个删除了尾随空格的字符串。 #SQL #Caché 0 0 0 83
文章 姚 鑫 · 五月 7, 2022 阅读大约需 2 分钟 第135章 SQL函数 SUBSTR 第135章 SQL函数 SUBSTR 返回从指定字符串表达式派生的子字符串的字符串函数。 #SQL #Caché 0 0 0 85
文章 姚 鑫 · 五月 22, 2022 阅读大约需 5 分钟 第150章 SQL函数 TRUNCATE 第150章 SQL函数 TRUNCATE 标量数值函数,按指定位数截断一个数。 大纲 {fn TRUNCATE(numeric-expr,scale)} 参数 numeric-expr - 要截断的数字。数字或数字表达式。 scale - 计算结果为一个整数的表达式,该整数指定要截断的位数,从小数点开始计算。可以是零、正整数或负整数。如果比例是小数,会将其舍入为最接近的整数。 Truncate返回NUMERIC或DOUBLE数据类型。如果NUMERIC-EXPR的数据类型为DOUBLE,则TRUNCATE返回DOUBLE;否则返回NUMERIC。 #SQL #Caché 0 0 0 207