文章 姚 鑫 · 三月 7, 2021 阅读大约需 17 分钟 第五章 SQL定义表(二) 第五章 SQL定义表(二) 主键 InterSystems IRIS提供了两种方法来唯一标识表中的行:RowID和主键。 可选的主键是一个有意义的值,应用程序可以使用该值唯一地标识表中的行(例如,联接中的行)。主键可以是用户指定的数据字段,也可以是多个数据字段的组合。主键值必须是唯一的,但不必是整数值。 RowID是一个内部用于标识表中行的整数值。通常,主键是由应用程序生成的值,而RowID是由InterSystems IRIS生成的唯一整数值。 系统会自动创建一个主map,以使用RowID字段访问数据行。如果定义主键字段,系统将自动创建并维护主键索引。 #SQL #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 82
文章 姚 鑫 · 三月 6, 2021 阅读大约需 16 分钟 第五章 SQL定义表(一) 第五章 SQL定义表 表名称和架构名称 可以通过定义表(使用CREATE TABLE)或通过定义投影到表的持久类来创建表: DDL:InterSystemsIRIS®数据平台使用CREATE TABLE中指定的表名来生成相应的持久类名,并使用指定的架构名来生成相应的包名。 类定义:InterSystemsIRIS®数据平台使用持久类名称来生成对应的表名,并使用包名称来生成对应的模式名。 由于以下原因,这两个名字之间的对应关系可能不相同: #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 2 0 148
文章 姚 鑫 · 三月 5, 2021 阅读大约需 9 分钟 第四章 SQL标识符 第四章 标识符 标识符 标识符是SQL实体的名称,例如表、视图、列(字段)、模式、表别名、列别名、索引、存储过程、触发器或其他SQL实体。 标识符名称在其上下文中必须是唯一的; 例如,同一模式中的两个表或同一表中的两个字段不能具有相同的名称。 但是,不同模式中的两个表或不同表中的两个字段可以具有相同的名称。 在大多数情况下,相同的标识符名称可以用于不同类型的SQL实体; 例如,一个模式、该模式中的表以及该表中的字段都可以具有相同的名称,而不会产生冲突。 但是,同一个模式中的表和视图不能具有相同的名称。 InterSystems IRIS®数据平台SQL标识符遵循一组命名约定,根据标识符的使用,这可能会受到进一步的限制。 标识符不区分大小写。 标识符可以是简单标识符,也可以是分隔符。 InterSystems SQL默认支持简单标识符和分隔标识符。 简单标识符 简单标识符有以下语法: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 163
文章 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 143
文章 Qiao Peng · 三月 5, 2021 阅读大约需 3 分钟 Global 扫描和切片 Global 扫描和切片 这是一个在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例 不会与新版本保持同步 也不会获得 InterSystems 提供的支持服务! 大多数情况下,默认存储使用的 global 只有 1 个表示 IDKEY 的下标级别。 对于索引 global,可能有 2 个或更多下标级别。 数组、父子关系或扩展了基础数据类的持久化类 是具有更多下标级别的示例。 但所有这些 global 都非常统一。 #ObjectScript #SQL #Globals #Caché #Ensemble #InterSystems IRIS Open Exchange app 1 1 0 100
文章 姚 鑫 · 三月 4, 2021 阅读大约需 11 分钟 第三章 SQL语言元素(二) 第三章 SQL语言元素(二) 算术运算符和函数 InterSystems SQL支持以下算术运算符: + 加法操作符。 例如,17+7 = 24。 – 减法运算符。 例如,17-7等于10。 注意,这些字符中的一对是InterSystems SQL注释指示器。 因此,要指定两个或多个减法操作符或负号,必须使用空格或圆括号。 例如,17- -7或17-(-7)等于24。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 5 0 136
文章 姚 鑫 · 三月 4, 2021 阅读大约需 9 分钟 第三章 SQL语言元素(一) 第三章 SQL语言元素(一) 命令和关键字 InterSystems SQL命令(也称为SQL语句)以关键字开头,后跟一个或多个参数。其中一些参数可能是子句或函数,由它们自己的关键字标识。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 5 0 341
文章 姚 鑫 · 三月 1, 2021 阅读大约需 7 分钟 第二章 InterSystems SQL基础 第二章 InterSystems SQL基础 本章概述了InterSystems SQL的特性,特别是那些SQL标准未涵盖的特性,或者与InterSystems IRIS®数据平台统一数据架构相关的特性。 本教程假定读者具备SQL知识,并不是为介绍SQL概念或语法而设计的。 本章讨论以下主题: - 表 - 查询 - 权限 - 数据显示选项 - 数据排序类型 - 执行SQL 表 在InterSystems SQL中,数据显示在表中。每个表都包含许多列。一个表可以包含零个或多个数据值行。以下术语大体上等效: #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 2 0 112
文章 姚 鑫 · 二月 28, 2021 阅读大约需 7 分钟 第一章 InterSystems SQL简介 第一章 InterSystems SQL简介 InterSystems SQL提供对InterSystems IRIS®Data Platform数据库中存储的数据的无懈可击的标准关系访问。 InterSystems SQL提供以下优势: #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 2 0 242
文章 姚 鑫 · 二月 27, 2021 阅读大约需 4 分钟 第四十九章 Caché 变量大全 ^$ROUTINE 变量 第四十九章 Caché 变量大全 ^$ROUTINE 变量 提供例程信息。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 2 0 84
文章 姚 鑫 · 二月 26, 2021 阅读大约需 9 分钟 第四十八章 Caché 变量大全 ^$LOCK 变量 第四十八章 Caché 变量大全 ^$LOCK 变量 提供锁名信息。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 2 0 79
文章 姚 鑫 · 二月 25, 2021 阅读大约需 3 分钟 第四十七章 Caché 变量大全 ^$JOB 变量 第四十七章 Caché 变量大全 ^$JOB 变量 提供系统间IRIS进程(JOB)信息。 大纲 ^$JOB(job_number) ^$J(job_number) 参数 job_number 输入ObjectScript命令时创建的系统特定OBJ编号。每个活动的InterSystems IRIS进程都有一个唯一的作业号。登录到系统会启动一个作业。在UNIX®系统上,作业号是调用InterSystems IRIS时启动的子进程的PID。JOB_NUMBER必须指定为整数;不支持十六进制值。 描述 可以将^$JOB结构化系统变量用作$DATA、$ORDER和$QUERY函数的参数,以获取有关本地InterSystems IRIS系统上是否存在InterSystems IRIS作业的信息。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 129
文章 姚 鑫 · 二月 24, 2021 阅读大约需 6 分钟 第四十六章 Caché 变量大全 ^$GLOBAL 变量 第四十六章 Caché 变量大全 ^$GLOBAL 变量 提供有关全局变量和进程私有全局变量的信息。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 101
文章 姚 鑫 · 二月 23, 2021 阅读大约需 3 分钟 第四十五章 Caché 变量大全 $ZVERSION 变量 第四十五章 Caché 变量大全 $ZVERSION 变量 包含一个字符串,描述do命令后面的InterSystems IRIS.line的当前版本。 大纲 $ZVERSION $ZV 描述 $ZVERSION包含一个字符串,该字符串显示当前运行的InterSystems IRIS®Data Platform实例的版本。 以下示例返回$ZVERSION字符串: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 54
文章 姚 鑫 · 二月 22, 2021 阅读大约需 7 分钟 第四十四章 Caché 变量大全 $ZTRAP 变量 第四十四章 Caché 变量大全 $ZTRAP 变量 包含当前错误陷阱处理程序的名称。 大纲 $ZTRAP $ZT 描述 $ZTRAP包含当前错误陷阱处理程序的行标签名和/或例程名。有三种方法可以设置$ZTRAP: SET $ZTRAP=“location” SET $ZTRAP=“*location” SET $ZTRAP=“^%ET” or “^%ETN” 在这里,位置可以指定为标签(当前例程中的行标签)、^routine(指定外部例程的开始)或label^routine(指定外部例程中的指定标签)。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 55
文章 姚 鑫 · 二月 21, 2021 阅读大约需 7 分钟 第四十三章 Caché 变量大全 $ZTIMEZONE 变量 第四十三章 Caché 变量大全 $ZTIMEZONE 变量 包含格林威治子午线的时区偏移量。 大纲 $ZTIMEZONE $ZTZ 描述 $ZTIMEZONE可以通过两种方式使用: 返回计算机的本地时区偏移量。 为当前进程设置本地时区偏移量。 $ZTIMEZONE包含从格林威治子午线偏移的时区(以分钟为单位)。 (格林威治子午线包括整个英国和爱尔兰。)此偏移量表示为-1440到1440范围内的有符号整数。格林威治以西的时区指定为正数;格林威治东部的时区指定为负数。 (时区必须以分钟为单位,因为并非所有时区都以小时为单位。)默认情况下,$ZTIMEZONE初始化为计算机操作系统设置的时区。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 60
文章 姚 鑫 · 二月 20, 2021 阅读大约需 6 分钟 第四十二章 Caché 变量大全 $ZTIMESTAMP 变量 第四十二章 Caché 变量大全 $ZTIMESTAMP 变量 包含协调世界时间格式的当前日期和时间。 大纲 $ZTIMESTAMP $ZTS 描述 $ZTIMESTAMP包含协调的通用时间值形式的当前日期和时间。这是世界范围内的时间和日期标准;此值很可能与当地的时间(和日期)值不同。 $ZTIMESTAMP将日期和时间表示为以下格式的字符串: ddddd,sssss.fff 其中ddddd是一个整数,指定自1840年12月31日起的天数;sssss是一个整数,指定自当天午夜以来的秒数,fff是一个可变的数字,指定小数秒。这种格式类似于$HOROLOG,只是$HOROLOG不包含分数秒。 假设当前日期和时间(世界协调时)如下: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 71
文章 姚 鑫 · 二月 19, 2021 阅读大约需 2 分钟 第四十一章 Caché 变量大全 $ZSTORAGE 变量 第四十一章 Caché 变量大全 $ZSTORAGE 变量 包含进程的最大可用内存。 大纲 $ZSTORAGE $ZS 描述 $ZSTORAGE包含JOB的进程私有内存的最大内存量(以KB为单位)。此内存可用于局部变量、堆栈和其他表。此内存限制不包括例程目标代码的空间。此内存根据需要分配给进程,例如在分配数组时。 一旦将此内存分配给进程,通常在该进程退出之前不会释放它。但是,当大量内存被使用(例如,大于32MB)然后被释放时,系统间IRIS会尝试在可能的情况下将释放的内存释放回操作系统。 还可以使用$ZSTORAGE设置最大内存大小。例如,以下语句将作业的最大进程专用内存设置为524288 KB: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 65
文章 姚 鑫 · 二月 18, 2021 阅读大约需 6 分钟 第四十章 Caché 变量大全 $ZREFERENCE 变量 第四十章 Caché 变量大全 $ZREFERENCE 变量 包含当前全局变量global引用。 大纲 $ZREFERENCE $ZR 描述 $ZREFERENCE包含上次全局引用的名称和下标。这就是所谓裸指针。 注意:最后一个全局引用是最近访问的全局节点。通常,这是对全局的最新显式引用。但是,某些命令可能在内部使用$ORDER函数遍历全局下标(ZWRITE命令就是一个例子),或者它们可能在内部引用其他全局脚本。发生这种情况时,$ZREFERENCE包含上次访问的全局节点,该节点可能不是为命令指定的全局节点。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 54
文章 姚 鑫 · 二月 17, 2021 阅读大约需 1 分钟 第三十七章 Caché 变量大全 $ZPARENT 变量 第三十七章 Caché 变量大全 $ZPARENT 变量 包含当前进程的父进程的ID。 大纲 $ZPARENT $ZP 描述 $ZPARENT包含使用JOB命令创建当前进程的父进程的ID。如果当前进程不是使用JOB命令创建的,则$ZPARENT包含0(零)。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 第三十八章 Caché 变量大全 $ZPI 变量 包含pi的值。 大纲 $ZPI 描述 $zpi包含数值常量Pi到小数点后18位的值(3.141592653589793238)。 该值经常用于三角函数,例如正弦函数$ZSIN。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 41
文章 姚 鑫 · 二月 16, 2021 阅读大约需 2 分钟 第三十六章 Caché 变量大全 $ZORDER 变量 第三十六章 Caché 变量大全 $ZORDER 变量 包含下一个全局节点的值。 大纲 $ZORDER $ZO 描述 $ZORDER包含当前全局引用之后的下一个全局节点的值(在$QUERY序列中,而不是$ORDER序列中)。如果没有下一个全局节点,访问$ZORDER将导致<unfined>错误,指示$ZORDER成功访问的最后一个全局节点。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 示例 下面的示例使用WHILE循环重复调用$ZORDER以遍历一系列下标节点: #Caché #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 104
文章 姚 鑫 · 二月 15, 2021 阅读大约需 3 分钟 第三十五章 Caché 变量大全 $ZNSPACE 变量 第三十五章 Caché 变量大全 $ZNSPACE 变量 包含当前命名空间名称。 大纲 $ZNSPACE 描述 $ZNSPACE包含当前命名空间的名称。通过设置$ZNSPACE,可以更改当前名称空间。 要获取当前命名空间名称,请执行以下操作: DHC-APP>SET ns=$ZNSPACE DHC-APP>WRITE ns DHC-APP 还可以通过调用%SYSTEM.SYS类的Namespace()方法来获取当前命名空间的名称,如下所示: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 48
文章 姚 鑫 · 二月 14, 2021 阅读大约需 1 分钟 第三十四章 Caché 变量大全 $ZNAME 变量 第三十四章 Caché 变量大全 $ZNAME 变量 包含当前例程名称。 大纲 $ZNAME $ZN 描述 $ZNAME包含在当前进程上执行的例程的名称。通常,这是ZLOAD加载的当前例程。如果当前没有执行任何例程,则$ZNAME包含空字符串。 当ZLOAD加载一个例程时,它将成为所有名称空间中当前进程的当前加载例程。因此,可以使用$ZNAME显示任何名称空间中当前加载的例程的名称,而不仅仅是加载该例程的名称空间。 例程名称区分大小写。 请注意,尝试ZLOAD例程失败会删除当前加载的例程,并将$ZNAME设置为空字符串。 不能使用SET命令修改此特殊变量。尝试这样做会导致错误。 $ZNAME值可以通过以下任何命令设置: ZLOAD command ZSAVE command 无参数ZREMOVE命令(设置为空字符串) DO command GOTO command with ^routine #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 53
文章 姚 鑫 · 二月 13, 2021 阅读大约需 2 分钟 第三十三章 Caché 变量大全 $ZMODE 变量 第三十三章 Caché 变量大全 $ZMODE 变量 包含当前I/O设备打开参数。 大纲 $ZMODE $ZM 描述 $ZMODE包含使用OPEN或USE命令为当前设备指定的参数。返回的字符串包含用于以规范形式打开当前I/O设备的参数。这些参数值由反斜杠分隔符分隔。TCP/IP IO上的开放参数(如“M”)被规范化为“PSTE”。“Y”和“K”参数值始终放在最后。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 示例 以下示例使用$ZMODE返回当前设备的参数: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 69
文章 姚 鑫 · 二月 12, 2021 阅读大约需 2 分钟 第三十二章 Caché 变量大全 $ZJOB 变量 第三十二章 Caché 变量大全 $ZJOB 变量 包含JOB状态信息。 大纲 $ZJOB $ZJ 描述 $ZJOB包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5,则表示设置了1位和4位。 要测试单个$ZJOB位设置,可以使用整数除(\)和模(#)运算符。例如,$ZJOB\x#2,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 79
文章 姚 鑫 · 二月 11, 2021 阅读大约需 1 分钟 第三十一章 Caché 变量大全 $ZIO 变量 第三十一章 Caché 变量大全 $ZIO 变量 包含有关当前终端I / O设备的信息。 $ZIO $ZI 描述 $ZIO包含有关当前I / O设备的信息。 对于作为终端的终端设备,$ZIO包含字符串TRM:。如果当前终端设备是远程连接的,则$ZIO包含有关远程连接的信息。 对于通过TELNET连接的终端设备,$ZIO包含以下内容:host | port: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 89
文章 姚 鑫 · 二月 10, 2021 阅读大约需 1 分钟 第三十章 Caché 变量大全 $ZHOROLOG 变量 第三十章 Caché 变量大全 $ZHOROLOG 变量 包含自Caché启动以来经过的秒数。 大纲 $ZHOROLOG $ZH 描述 $ZHOROLOG包含自最近的Caché启动以来经过的秒数。这是一个计数,与时钟变化和日期范围无关。该值表示为浮点数,表示秒和秒的分数。小数位数与平台有关。 $ZHOROLOG在此小数部分截断尾随零。 不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。 注意:由于Windows操作系统的限制,使Windows系统进入休眠或待机模式可能会导致$ZHOROLOG返回不可预测的值。此问题不会影响$HOROLOG或$ZTIMESTAMP值。 示例 本示例输出当前的$ZHOROLOG值。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 64
文章 姚 鑫 · 二月 9, 2021 阅读大约需 9 分钟 第二十九章 Caché 变量大全 $ZERROR 变量 第二十九章 Caché 变量大全 $ZERROR 变量 包含上一个错误的名称和位置。 大纲 $ZERROR $ZE 描述 $ZERROR包含最新错误的名称,最新错误的位置(在适用的情况下)以及(对于某些错误代码而言)有关导致错误的原因的其他信息。 $ZERROR始终包含相应语言模式的最新错误。 $ZERROR值旨在错误后立即使用。由于$ZERROR值可能不会在例程调用中保留,因此希望保留$ZERROR值以供以后使用的用户应将其复制到变量中。强烈建议用户在使用后立即将$ZERROR设置为空字符串(“”)。 $ZERROR中包含的字符串可以是以下任何一种形式: #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 54
文章 姚 鑫 · 二月 8, 2021 阅读大约需 1 分钟 第二十八章 Caché 变量大全 $ZEOS 变量 第二十八章 Caché 变量大全 $ZEOS 变量 读取压缩流时包含流结束状态。 大纲 $ZEOS 大纲 $Zeos包含一个布尔值,该值指示是否已接收并处理传入(压缩)流的末尾。如果$Zeos=1,则已接收到压缩数据流的流结束。仅当流压缩/解压缩处于活动状态(/GZIP=1)时,$ZOS值才有意义。可以通过从OPEN或USE命令发出/GZIP命令关键字来激活流压缩/解压缩。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 45
文章 姚 鑫 · 二月 7, 2021 阅读大约需 2 分钟 第二十七章 Caché 变量大全 $ZEOF 变量 第二十七章 Caché 变量大全 $ZEOF 变量 包含指示是否已到达文件末尾的标志。 大纲 $ZEOF 描述 在每次顺序文件读取之后,Caché设置$ZEOF特殊变量以指示是否已到达文件末尾。提供此特殊变量是为了与使用$ZC设备状态检查的MSM例程兼容。 Caché将$ZEOF设置为上次使用的设备的文件状态。例如,如果从顺序文件读取,然后写入主设备,则Caché会将$ZEOF从顺序文件的文件结束状态重置为主设备状态。因此,应该在顺序文件读取之后立即检查$ZEOF值(如果需要,将其复制到变量)。 Caché将$ZEOF设置为下列值: - –1 文件结束 - 0 不在文件末尾 要使用此功能,必须对顺序文件禁用<ENDOFFILE>错误。 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 44