文章 姚 鑫 · 四月 3, 2021 阅读大约需 12 分钟 第十五章 使用管理门户SQL接口(二) 第十五章 使用管理门户SQL接口(二) 过滤模式内容 Management Portal SQL界面的左侧允许查看模式(或匹配筛选器模式的多个模式)的内容 1. 通过单击SQL interface页面顶部的Switch选项,指定希望使用的名称空间。 这将显示可用名称空间的列表,可以从中进行选择。 2. 应用筛选器或从模式下拉列表中选择模式。 可以使用Filter字段通过输入搜索模式来筛选列表。 可以在一个模式或多个模式中筛选模式,或筛选表/视图/过程名(项)。 搜索模式由模式名、点(.)和项目名组成——每个名称由文字和通配符的某种组合组成。字面值不区分大小写。 通配符是: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 67
文章 姚 鑫 · 四月 11, 2022 阅读大约需 2 分钟 第109章 SQL函数 POSITION 第109章 SQL函数 POSITION 返回子字符串在字符串中的位置的字符串函数。 大纲 POSITION(substring IN string) 参数 substring - 要搜索的子字符串。 它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHAR或VARCHAR2)。 IN string - 要在其中搜索子字符串的字符串表达式。 POSITION返回INTEGER数据类型。 #SQL #Caché 0 0 0 67
文章 姚 鑫 · 七月 3, 2022 阅读大约需 5 分钟 第十七章 进程内存 第十七章 进程内存 介绍 进程使用许多不同的资源来实现其目标。其中包括部分或全部 CPU 周期、内存、外部存储、网络带宽等。这篇文章是关于内存使用的。具体来说,它处理为数据存储分配的内存,例如: - 公共和私有变量 当第一次为它们分配值时,它们被分配了内存空间。在局部数组的情况下,局部变量名称加上所有下标的值的组合引用单个变量值。 除了包含极长字符串的变量外,变量会占用与 $STORAGE 相关的空间。包含极长字符串的变量以不同方式存储,并且不占用 $STORAGE 中的空间。 对象实例 每当实例化一个对象时,都会分配空间来保存对象的当前内容以及它所引用的对象。删除最后一个对象引用时返回该空间。 本地 I/O 缓冲区 将与该进程正在使用的设备相关联的 I/O 缓冲区存储在进程空间中。 #SQL #Caché 0 0 0 67
文章 姚 鑫 · 三月 17, 2022 阅读大约需 2 分钟 第八十四章 SQL函数 $LISTFROMSTRING 第八十四章 SQL函数 $LISTFROMSTRING 从字符串创建列表的列表函数。 大纲 $LISTFROMSTRING(string[,delimiter]) 参数 string - 要转换为 列表的字符串。此字符串包含一个或多个元素,由分隔符分隔。分隔符不会成为生成的列表的一部分。 delimiter - 可选 — 用于分隔字符串中的子字符串(元素)的分隔符。将分隔符指定为带引号的字符串。如果未指定分隔符,则默认为逗号 (,) 字符。 描述 $LISTFROMSTRING 接受一个包含分隔元素的带引号的字符串并返回一个列表。列表以不使用分隔符的编码格式表示数据。因此,列表可以包含所有可能的字符,并且非常适合位串数据。使用 ObjectScript 和 SQL $LIST 函数处理列表。 #SQL #Caché 0 0 0 67
文章 姚 鑫 · 十月 26, 2021 阅读大约需 8 分钟 第五十七章 SQL命令 INTO 第五十七章 SQL命令 INTO 一个SELECT子句,指定在宿主变量中存储选定的值。 #SQL #Caché 0 0 0 66
文章 姚 鑫 · 六月 23, 2022 阅读大约需 3 分钟 第八章 操作位和位串(四) 第八章 操作位和位串(四) 操作以整数形式实现的位串 设置位 要创建一个存储为整数的新位串,请对每个位求和 2 的幂: set bitint = (2**2) + (2**5) + (2**10) write bitint 1060 要将现有位串中的位设置为 1,请使用 $zboolean 函数(逻辑 OR)的选项7 (arg1 ! arg2): set bitint = $zboolean(bitint, 2**4, 7) write bitint 1076 要将现有位串中的位设置为 0,请使用 $zboolean 函数的选项 2 (arg1 & ~arg2): #SQL #Caché 0 0 0 66
文章 姚 鑫 · 九月 29, 2021 阅读大约需 1 分钟 第三十章 SQL命令 DROP AGGREGATE 第三十章 SQL命令 DROP AGGREGATE 删除用户定义的聚合函数。 大纲 DROP AGGREGATE name 参数 name - 要删除的用户定义聚合函数的名称。名称可以是限定的(schema.aggname),也可以是非限定的(aggname)。非限定名称采用默认架构名称。 描述 DROP Aggregate命令删除用户定义的聚合函数(UDAF)。使用CREATE Aggregate命令创建用户定义的聚合函数。 如果尝试删除不存在的UDAF,SQL会发出SQLCODE-428错误,并显示如下消息:User Defined Aggregate Function Sample.SecondHighest does not exist. #SQL #Caché 0 0 0 66
文章 姚 鑫 · 十二月 16, 2021 阅读大约需 5 分钟 第十七章 SQL谓词 %PATTERN 第十七章 SQL谓词 %PATTERN 用包含字面值、通配符和字符类型代码的模式字符串匹配值。 大纲 scalar-expression %PATTERN pattern 参数 scalar-expression - 一个标量表达式(最常见的是数据列),它的值正在与模式进行比较。 pattern - 一个带引号的字符串,表示要与标量表达式中的每个值匹配的字符模式。 模式字符串可以包含双引号括起来的文字字符、指定字符类型的字母代码以及数字和作为通配符的句点(.)字符。 描述 %PATTERN谓词允许将字符类型代码和字面值的模式匹配到由标量表达式提供的数据值。 如果模式匹配完整的标量表达式值,则返回该值。 如果pattern没有完全匹配任何标量表达式值,%pattern将返回空字符串。 #SQL #Caché 0 0 0 66
文章 姚 鑫 · 一月 8, 2022 阅读大约需 1 分钟 第十八章 SQL函数 ASCII 第十八章 SQL函数 ASCII 一个字符串函数,返回字符串表达式的第一个(最左边)字符的整型ASCII码值。 大纲 ASCII(string-expression) {fn ASCII(string-expression)} 参数 string-expression - 字符串表达式,它可以是列的名称、字符串字面值或另一个标量函数的结果,其中基础数据类型可以表示为任何字符类型(如CHAR或VARCHAR)。 CHAR或VARCHAR类型的字符串表达式。 描述 如果传入一个NULL或空字符串值,ASCII将返回NULL。 空字符串返回NULL与SQL Server一致。 #SQL #Caché 0 0 0 66
文章 姚 鑫 · 九月 4, 2021 阅读大约需 9 分钟 第六章 SQL命令 CREATE INDEX(一) 第六章 SQL命令 CREATE INDEX(一) 为表创建索引。 #SQL #Caché 0 0 0 66
文章 姚 鑫 · 四月 26, 2021 阅读大约需 9 分钟 第六章 SQL性能分析工具包 第六章 SQL性能分析工具包 本章介绍可用于主动分析特定SQL语句的分析工具。这些工具收集有关这些SQL语句执行的详细信息。使用这些信息,开发人员可以采取措施提高低效SQL语句的性能。 根据请求的详细程度,此活动分析可能会显著增加服务器上的负载。因此,SQL性能分析工具包旨在进行协调一致的代码分析工作。它不是用来连续监视执行代码的。 分析工具界面 SQL性能分析工具包为开发人员和支持专家提供了分析特定SQL语句或语句组的能力。通过在执行特定SQL语句期间使用这些工具,它们可以收集详细信息,这些信息可用于单独或跨活动工作负载分析有问题的语句。 要记录的细节级别是可配置的,最细粒度的设置在模块级别收集信息,为语句的查询计划中的不同“步骤”提供信息。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 66
文章 Weiwei Gu · 八月 4, 2023 阅读大约需 3 分钟 在 InterSystems IRIS 中创建具有超过 999 个属性的类/表 InterSystems IRIS 目前将类限制为 999 个属性。 但是,如果您需要为每个对象存储更多数据该怎么办? 本文将回答这个问题(附加了社区 Python 网关的客串以及如何将广泛的数据集传输到 Python 中)。 答案其实很简单 - InterSystems IRIS 目前将类限制为 999 个属性,但不限制 999 个基元(primitives)。 InterSystems IRIS 中的属性可以是具有 999 个属性的对象等等 - 该限制很容易被忽略。 #Globals #Python #SQL #关系表 #对象数据模型 #提示和技巧 #InterSystems IRIS 0 0 0 66
公告 Michael Lei · 八月 30, 2023 搜索非结构化文本数据 亲身体验 SQL 搜索,它是 InterSystems IRIS® 数据平台中的一个工具,可让您快速搜索存储在 SQL 表中的大量非结构化文本数据(含练习,15m) 。 #SQL #学习门户 0 0 0 66
文章 姚 鑫 · 十一月 26, 2021 阅读大约需 2 分钟 第八十八章 SQL命令 WHERE(一) 第八十八章 SQL命令 WHERE(一) 指定一个或多个限制性条件的SELECT子句。 大纲 SELECT fields FROM table WHERE condition-expression 参数 condition-expression - 由一个或多个布尔谓词组成的表达式,该谓词控制要检索的数据值。 描述 可选的WHERE子句可以用于以下目的: #SQL #Caché 0 0 0 65
文章 姚 鑫 · 十一月 30, 2021 阅读大约需 1 分钟 第一章 SQL谓词的概述(一) 第一章 SQL谓词的概述(一) 描述计算结果为真或假的逻辑条件。 使用谓词 谓词是一个条件表达式,其计算结果为布尔值(true或false)。 谓词可以如下使用: #SQL #Caché 0 0 0 65
文章 姚 鑫 · 五月 3, 2021 阅读大约需 6 分钟 第二章 全局变量结构(一) 第二章 全局变量结构(一) 本章描述全局变量的逻辑视图,并概述全局变量是如何在磁盘上物理存储的。 全局变量的逻辑结构 全局变量是存储在物理InterSystems IRIS®数据库中的命名多维数组。 在应用程序中,全局变量到物理数据库的映射基于当前名称空间——名称空间提供一个或多个物理数据库的逻辑统一视图。 全局命名约定和限制 全局名称指定其目标和用途。有两种类型的全局变量和一组单独的变量,称为“进程私有全局变量”: - 全局变量 - 这就是所谓的标准全局变量;通常,这些变量被简称为全局变量。它是驻留在当前命名空间中的永久性多维数组。 - 扩展全局引用-这是位于当前命名空间以外的命名空间中的全局引用。 - 进程私有全局变量-这是一个数组变量,只有创建它的进程才能访问。 全局变量的命名约定如下: #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 65
文章 姚 鑫 · 一月 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 65
文章 姚 鑫 · 十二月 6, 2021 阅读大约需 1 分钟 第六章 SQL谓词 EXISTS 第六章 SQL谓词 EXISTS 检查表中是否至少存在一个对应行。 大纲 EXISTS select-statement 参数 select-statement - 一种简单的查询,通常包含一个条件表达式。 描述 EXISTS谓词测试指定的表,通常至少测试一行是否存在。 因为EXISTS后面的SELECT语句正在被检查是否包含某些内容,所以子句通常是这样的形式: #SQL #Caché 0 0 0 65
文章 姚 鑫 · 六月 15, 2022 阅读大约需 5 分钟 第一章 锁定和并发控制制(一) 第一章 锁定和并发控制(一) 任何多进程系统的一个重要特征是并发控制,即防止不同进程同时更改特定数据元素的能力,从而导致损坏。 提供了一个锁管理系统。本文提供了一个概述。 此外,%Persistent 类提供了一种控制对象并发访问的方法,即 %OpenId() 的并发参数和该类的其他方法。这些方法最终使用本文讨论的 ObjectScript LOCK 命令。所有持久对象都继承这些方法。同样,系统会自动对 INSERT、UPDATE 和 DELETE 操作执行锁定(除非指定 %NOLOCK 关键字)。 %Persistent 类还提供方法 %GetLock()、%ReleaseLock()、%LockId()、%UnlockId()、%LockExtent() 和 %UnlockExtent()。 #SQL #Caché 0 0 0 65
文章 姚 鑫 · 五月 9, 2021 阅读大约需 6 分钟 第四章 多维存储的SQL和对象使用(一) 第四章 多维存储的SQL和对象使用(一) 本章介绍InterSystems IRIS®对象和SQL引擎如何利用多维存储(全局变量)来存储持久对象、关系表和索引。 尽管InterSystems IRIS对象和SQL引擎会自动提供和管理数据存储结构,但了解其工作原理的详细信息还是很有用的。 数据的对象视图和关系视图使用的存储结构是相同的。为简单起见,本章仅从对象角度介绍存储。 数据 每个使用%Storage.Persistent存储类(默认)的持久化类都可以使用多维存储(全局变量)的一个或多个节点在InterSystems IRIS数据库中存储其自身的实例。 每个持久化类都有一个存储定义,用于定义其属性如何存储在全局变量节点中。这个存储定义(称为“默认结构”)由类编译器自动管理。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 65
文章 姚 鑫 · 七月 8, 2022 阅读大约需 2 分钟 第二十二章 安全自定义 Web 应用程序登录 第二十二章 安全自定义 Web 应用程序登录 除了推荐的 REST 应用程序支持之外,产品还支持两种类型的传统 Web 应用程序:CSP 和 Zen。在配置使用 CSP 和 Zen 的自定义登录页面时,遵循推荐的协议很重要。这些协议提供了更高的安全性,并最大限度地减少了升级到新产品或版本时的不兼容性。 关于创建自定义 CSP 登录页面 创建自定义 CSP 登录页面: #SQL #Caché 0 0 0 64
文章 姚 鑫 · 九月 11, 2021 阅读大约需 3 分钟 第十三章 SQL命令 CREATE ROLE 第十三章 SQL命令 CREATE ROLE 创建角色 大纲 CREATE ROLE role-name 参数 role-name - 要创建的角色的名称,它是一个标识符。角色名称不区分大小写。 描述 CREATE ROLE命令可创建角色。角色是可以分配给多个用户的一组命名权限。一个角色可以分配给多个用户,一个用户可以分配多个角色。角色在系统范围内可用,它不限于特定的命名空间。 #API #SQL #Caché 0 0 0 64
文章 姚 鑫 · 六月 8, 2022 阅读大约需 4 分钟 第三章 数据类型(二) 第三章 数据类型(二) SQL 系统数据类型映射 上表中为 DDL 和 IRIS 数据类型表达式显示的语法是为 SQL.SystemDataTypes 配置的默认映射。对于提供的系统数据类型和用户数据类型,有单独的映射表可用。 要查看和修改当前数据类型映射,请转到管理门户,选择系统管理、配置、SQL 和对象设置、系统 DDL 映射。 了解 DDL 数据类型映射 将数据类型从 DDL 映射到 IRIS 时,常规参数和函数参数遵循以下规则: 常规参数 - 这些在 DDL 数据类型和 IRIS 数据类型中以 %# 格式标识。例如: VARCHAR(%1) 映射到: %String(MAXLEN=%1) 因此,DDL 数据类型为: VARCHAR(10) 映射到: #SQL #Caché 0 0 0 64
文章 姚 鑫 · 五月 24, 2022 阅读大约需 1 分钟 第152章 SQL函数 $TSQL_NEWID 第152章 SQL函数 $TSQL_NEWID 大纲 $TSQL_NEWID() 描述 $TSQL_NEWID 返回一个全局唯一 ID (GUID)。 GUID 用于在偶尔连接的系统上同步数据库。 GUID 是一个 36 个字符的字符串,由 32 个十六进制数字组成,由连字符分成五组。它的数据类型是 %Library.UniqueIdentifier。 在 SQL 中提供了 $TSQL_NEWID 以支持Transact-SQL (TSQL)。对应的 TSQL 函数是 NEWID。 $TSQL_NEWID 函数不接受任何参数。请注意,参数括号是必需的。 #SQL #Caché 0 0 0 64
文章 姚 鑫 · 七月 6, 2022 阅读大约需 4 分钟 第二十章 使用工作队列管理器(三) 第二十章 使用工作队列管理器(三) 管理类别 一个类别是一个独立的worker jobs池。当初始化一组worker jobs时,可以指定提供worker的类别。如果集合中的任何worker jobs在执行work项时请求额外的worker jobs,则新的worker jobs来自同一类别。 例如,假设系统提供的 SQL 类别分配了最多 8 个worker。然后,假设与BusinessIntelligence相关的流程创建了一个类别,并将最多四个worker分配给该类别。如果 SQL 池中的所有worker在给定时间都参与了工作,则 BusinessIntelligence 类别中的worker可能仍然可以立即处理工作项。 系统包括两个不能删除的类别:SQL 和 Default。 SQL 类别适用于系统执行的任何 SQL 处理,包括查询的并行处理。当在未指定类别的情况下初始化一组worker jobs时,默认类别提worker jobs。 每个类别都具有影响该类别中每个工作队列的行为的属性。这些属性是: #SQL #Caché 0 0 0 64
文章 Jingwei Wang · 八月 30, 2023 阅读大约需 5 分钟 使用 SQLAlchemy 将表传输到 IRIS 或从 IRIS 获取表 案例描述 假设您是一名 Python 开发人员或拥有一支训练有素的 Python 专业团队,但您分析 IRIS 中某些数据的期限很紧迫。当然,InterSystems 提供了许多用于各种分析和处理的工具。然而,在给定的场景中,最好使用旧的 Pandas 来完成工作,然后将 IRIS 留到下次使用。对于上述情况和许多其他情况,您可能需要从 IRIS 获取表来管理 InterSystems 产品之外的数据。但是,当您有任何格式(即 CSV、TXT 或 Pickle)的外部表时,您可能还需要以相反的方式执行操作,您需要在其上导入并使用 IRIS 工具。无论您是否必须处理上述问题,Innovatium让我明白,了解更多解决编码问题的方法总是能派上用场。好消息是,从 IRIS 引入表时,您不需要经历创建新表、传输所有行以及调整每种类型的繁琐过程。本文将向您展示如何通过几行代码快速将 IRIS 表转换为 Pandas 数据框架并向后转换。您可以在我的GitHub上查看代码,您可以在其中找到包含本教程每个步骤的 Jupiter Notebook。 #Innovatium #Python #SQL #InterSystems IRIS #Open Exchange 0 0 0 63
文章 姚 鑫 · 五月 13, 2021 阅读大约需 4 分钟 第五章 管理全局变量(二) 第五章 管理全局变量(二) 在全局变量中查找值 “查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。 要访问和使用此页,请执行以下操作: 显示“全局变量”页。 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。 单击查找按钮。 对于查找内容,输入要搜索的字符串。 (可选)清除大小写匹配。默认情况下,搜索区分大小写。 单击Find First或Find All。 然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。 完成后,单击关闭窗口。 执行批量更换 注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 63
文章 姚 鑫 · 五月 13, 2021 阅读大约需 4 分钟 第五章 管理全局变量(二) 第五章 管理全局变量(二) 在全局变量中查找值 “查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。 要访问和使用此页,请执行以下操作: 显示“全局变量”页。 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。 单击查找按钮。 对于查找内容,输入要搜索的字符串。 (可选)清除大小写匹配。默认情况下,搜索区分大小写。 单击Find First或Find All。 然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。 完成后,单击关闭窗口。 执行批量更换 注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 63
文章 姚 鑫 · 六月 24, 2022 阅读大约需 4 分钟 第九章 设置结构化日志记录(一) 第九章 设置结构化日志记录(一) IRIS 支持结构化日志记录。 创建多个日志,每个日志用于不同的目的。从以前的产品迁移过来的客户可以像过去一样利用这些日志,但现在还可以将所有日志信息导入一个单一的、中央的、机器可读的日志文件——结构化日志。然后可以将此文件与第三方分析工具一起使用。 本文概述了结构化日志中的信息,展示了日志示例,并描述了如何启用结构化日志记录。 结构化日志中可用的信息 当启用结构化日志记录时,系统会将相同的数据写入结构化日志,它也会写入其他日志(无论哪个)。例如,系统将相同的行写入messages.log 和结构化日志。 启用结构化日志记录后,结构化日志包含以下所有信息: #SQL #Caché 0 0 0 63
文章 姚 鑫 · 二月 20, 2022 阅读大约需 4 分钟 第六十章 SQL函数 GETUTCDATE 第六十章 SQL函数 GETUTCDATE 日期/时间函数,返回当前UTC日期和时间。 大纲 GETUTCDATE([precision]) 参数 precision - 可选-一个正整数,指定时间精度为小数秒的位数。 默认值是0(没有小数秒); 这个默认值是可配置的。 描述 GETUTCDATE返回通用时间常数(UTC)日期和时间作为时间戳。由于UTC时间在地球上的任何地方都是相同的,不依赖于当地时区,也不受当地时差(如夏令时)的影响,因此当不同时区的用户访问同一数据库时,此函数对于应用一致的时间戳非常有用。 #SQL #Caché 0 0 0 63