文章 Michael Lei · 十二月 16, 2021 10m read

Iris-python-template

包含各种Python代码的项目模版,可用于InterSystems IRIS 社区容器版Community Edition with container。

特性 :

  • Notebooks 记事本

    • Embedded Python 内核
    • ObjectScript 内核
    • Vanilla Python 内核
  • Embedded嵌入式 Python

    • Code example代码样例
    • Flask demo
  • IRIS Python Native 原生APIs

    • Code example

Diagram

2. 目录

0
0 448
InterSystems 官方 Louis Lu · 十二月 16, 2021

InterSystems IRIS、IRIS for Health 以及 HealthShare Health Connect 的 2021.2 版本的预览版现已发布。

由于这是一个预览版,我们希望在下个通用版本发布之前了解您对这个新版本的体验。请通过开发者社区分享您的反馈,以便我们能够共同打造一个更好的产品。

0
0 377
文章 姚 鑫 · 十二月 15, 2021 5m read

第十六章 SQL谓词 %MATCHES

用包含字面值、通配符和范围的模式字符串匹配值。

大纲

scalar-expression %MATCHES pattern [ESCAPE char]

参数

  • scalar-expression - 一个标量表达式(最常见的是数据列),它的值正在与模式进行比较。
  • pattern - 一个带引号的字符串,表示要与标量表达式中的每个值匹配的字符模式。 模式字符串可以包含文字字符,问号(?)和星号(*)通配符,方括号用于指定允许的值,反斜杠()用于指定紧跟其后的字符被视为文字。 模式也可以是空字符串或,尽管它不匹配或返回项。
  • - 可选-包含单个字符的字符串。 这个字符字符可以在模式中用于指定紧跟在它后面的字符将被视为文字。 如果未指定,默认转义字符是反斜杠()。

描述

谓词是 IRIS扩展,用于将值匹配到模式字符串。 返回或用于匹配操作。 模式字符串可以由字面量字符、通配符字符和匹配字面量的列表或范围组成。

模式匹配区分大小写。 模式匹配基于标量表达式的值,而不是它的排序规则值。 因此,操作始终是大小写敏感的,即使标量表达式的排序规则类型不区分大小写。

%MATCHES支持以下模式通配符:

  • ? - 匹配任意类型的任意单个字符。
  • - 匹配零个或多个任意类型的字符。
  • [abc] - 匹配括号中指定的任意一个字符。
0
0 155
归档
公告 Claire Zheng · 十二月 15, 2021

亲爱的开发者们,

如果您需要更改您的主邮箱地址(登录邮箱),同时不希望丢失任何开发者生态系统资源里的activity——在社区、Global Master、Open Exchange中的各种交流与历史活动痕迹——该如何去做呢?

很简单,我们来帮您!

1️⃣ 我们会帮您把所有资料信息从您的旧账户中转移到新账户

包括您的所有发帖、评论、艾特(@)和点赞记录,都会被保存在新账户中!

2️⃣ 如果您是 Global Masters的成员,您的级别、徽章、分数等等,也会被转移到新账户中。

3️⃣ 我们还会帮您转移您发布在 Open Exchange中的应用。

4️⃣ 除此之外,如果您只是需要停用您的旧账号(而无需转移任何活动记录),我们都可以帮您一键操作。

您所需要做的,就是通过社区email私信联系 @Irina.Podmazko,提供 :

  • 您的老账户链接 (可以有多个)
  • 您的新账户链接 (可以有多个)
  • 说明您想要转移到新账户的资源有哪些(比如社区所有点赞、发帖等记录;Global Master的资料;Open Exchange发布的应用,等等)

怎么样?

有我们的帮助,您可以平滑过渡到新账户!

有疑问请随时与我们沟通:)


P.s. You can also just add a comment on this post with links to your old and new accounts.

0
0 146
文章 姚 鑫 · 十二月 14, 2021 7m read

第十五章 SQL谓词 LIKE

用包含字面值和通配符的模式字符串匹配值。

大纲

scalar-expression LIKE pattern [ESCAPE char]

参数

  • scalar-expression - 一个标量表达式(最常见的是数据列),它的值正在与模式进行比较。
  • pattern - 一个带引号的字符串,表示要与标量表达式中的每个值匹配的字符模式。 模式字符串可以包含字面字符、下划线(_)和百分比(%)通配符。
  • 可选-包含单个字符的字符串。 这个字符字符可以在模式中用于指定紧跟在它后面的字符将被视为文字。

描述

谓词允许选择那些匹配模式中指定的字符的数据值。 模式可以包含通配符。 如果不匹配任何标量表达式值,返回空字符串。

可以在任何可以指定谓词条件的地方使用,如本手册的谓词概述页面所述。

谓词支持以下通配符:

  • - 任何单个字符
  • % - 由0个或多个字符组成的序列。 (根据SQL标准,NULL不被认为是一个0字符的序列,因此不被这个通配符选中。)

在动态SQL或嵌入式SQL中,模式可以将通配符和输入参数或输入主机变量表示为连接的字符串,如示例部分所示。

注意:当在运行时提供谓词值时(使用 输入参数或输入主机变量),结果谓词%STARTSWITH 'abc'

0
0 152
文章 Claire Zheng · 十二月 13, 2021 4m read

我在 InterSystems 工作了 35 年,期间见证了许多客户与我们共同成长。我们热忱地帮助客户取得成功——无论他们衡量成功的标准是什么——而成功的基石就是我们提供的技术。我们的名字现在通常与我们的 InterSystems IRIS 数据平台联系在一起,因为它实际上是我们经过验证的下一代数据管理软件。

0
0 244
文章 姚 鑫 · 十二月 13, 2021 1m read

第十四章 SQL谓词 IS NULL

确定一个数据值是否为NULL

大纲

scalar-expression IS [NOT] NULL

描述

IS NULL谓词检测未定义的值。 可以检测到所有空值,或所有非空值:

SELECT Name, FavoriteColors FROM Sample.Person
WHERE FavoriteColors IS NULL 
SELECT Name, FavoriteColors FROM Sample.Person
WHERE FavoriteColors IS NOT NULL

IS NULL / 谓词是少数几个可以在子句中用于流字段的谓词之一。 如下面的例子所示:

不应将谓词与函数混淆。

0
0 103
文章 Johnny Wang · 十二月 12, 2021 3m read

    您可能已经听说,我们目前正在为所有正在使用 Caché 和 Ensemble 的客户提供限时免费迁移到我们的下一代数据平台 InterSystems IRIS 的机会。

    虽然我们依旧如往常一样全力支持那些正在使用 Caché 数据库和 Ensemble 集成引擎的客户,但我们还是认为 InterSystems IRIS 是未来的关键。它结合了 Caché 和 Ensemble 的所有功能,并添加了大量令人兴奋的强大功能,从机器学习到原生 Python。

    这也正是我们为现有客户提供迁移到 InterSystems IRIS 并使用这些新功能的原因。 我们也通过就地迁移支持轻松迁移,这意味着无需数据库转换、分步迁移指南、教程等。

    听起来挺有趣对吗? 以下是我针对当前 Caché 和 Ensemble 应迁移到 InterSystems IRIS 的五个主要原因。

0
0 390
文章 姚 鑫 · 十二月 12, 2021 3m read

第十三章 SQL谓词 IS JSON

确定数据值是否为JSON格式。

注意:IRIS版本可用。其他不行。

大纲

scalar-expression IS [NOT] JSON [keyword]

参数

  • scalar-expression - 正在检查JSON格式的标量表达式。
  • keyword - 可选—可选值、标量、数组或对象。 默认为。

描述

IS JSON谓词确定数据值是否为格式。 下面的示例确定谓词是否是格式化正确的字符串,是对象还是数组:

ClassMethod IsJson()
{
	s q1 = "SELECT TOP 5 Name FROM Sample.Person "
	s q2 = "WHERE '{""name"":""Fred"",""spouse"":""Wilma""}' IS JSON"
	s myquery = q1_q2
	s tStatement = ##class(%SQL.Statement).%New()
	s qStatus = tStatement.%Prepare(myquery)
	if qStatus'=1 {
		w "%Prepare failed:" 
		d $System.Status.DisplayError(qStatus) 
		q
	}
	s rset = tStatement.%Execute()
	d rset.%Display()
}
0
0 138
文章 姚 鑫 · 十二月 11, 2021 2m read

第十二章 SQL谓词 %INSET

将一个值匹配到一组生成的值。

大纲

scalar-expression %INSET valueset [SIZE ((nn))]

参数

  • scalar-expression - 一个标量表达式(最常见的是表的RowId字段),它的值正在与值集进行比较。
  • valueset - 对实现方法的用户定义对象的对象引用(oref)。 该方法接受一组数据值,并在与标量表达式中的值匹配时返回一个布尔值。
  • - 可选-用于查询优化的数量级整数(等)。

描述

谓词允许通过选择与值集中指定的值相匹配的数据值来筛选结果集。 当标量表达式的值与中的值匹配时,此匹配将成功。 如果值集值不匹配任何标量表达式值,%INSET返回空字符串。 无论显示模式如何,这个匹配总是在逻辑(内部存储)数据值上执行。

对于值,永远不为真。 因此,它不会将标量表达式中的NULL与值集中的相匹配。

与其他比较条件一样,用于语句的子句或子句中。

启用使用抽象的、编程指定的匹配值集过滤字段值。 具体地说,它使用抽象的、编程指定的临时文件或位图索引来过滤RowId字段值,其中的值集行为类似于位图索引或常规索引的最低下标层。

用户定义的类派生自抽象类。此抽象类定义ContainsItem()方法,该方法是唯一支持的方法。方法返回值集。

排序类型

使用与它匹配的列相同的排序规则类型。

0
0 155
文章 姚 鑫 · 十二月 10, 2021 8m read

第十一章 SQL谓词 %INLIST

将一个值匹配到%List结构化列表中的元素。

大纲

scalar-expression %INLIST list [SIZE ((nn))]

参数

  • scalar-expression - 将其值与列表元素进行比较的标量表达式(最常见的是数据列)。
  • list - 包含一个或多个元素的%List结构。
  • SIZE ((nn)) - 可选-指定列表中元素数量估计值的整数。 必须指定为具有下列值之一的字面值:10100、、,等等。

描述

谓词是 IRIS扩展,用于将字段的值与列表结构的元素匹配。 和都允对多个指定值执行这样的相等比较。 将这些多个值指定为单个列表参数的元素。 因此,允许改变要匹配的值的数量,而无需创建单独的缓存查询。

可选的子句提供整数,它指定list中列表元素数量的数量级估计数。 IRIS使用这个数量级估计来确定最佳查询计划。 因为不管列表中元素的数量是多少,都会使用相同的缓存查询,所以指定允许创建缓存查询,针对列表中预期的元素的大致数量进行优化。 更改字面值将创建一个单独的缓存查询。 指定为以下文字之一:、、、,等等。 因为必须在编译时作为常量值可用,所以在所有SQL代码中必须将其指定为文字。 注意,必须为所有已编译SQL ()指定双括号。 双括号不用于嵌入式SQL。

0
0 94
文章 姚 鑫 · 十二月 9, 2021 5m read

第十章 SQL谓词 IN

将值匹配到以逗号分隔的非结构化列表中的项。

大纲

scalar-expression IN (item1,item2[,...])

scalar-expression IN (subquery)

参数

  • scalar-expression - 标量表达式(最常见的是数据列),将其值与以逗号分隔的值列表或子查询生成的结果集进行比较。
  • item - 一个或多个文本值、输入主机变量或解析为文本值的表达式。 以任何顺序列出,以逗号分隔。
  • subquery - 一个用括号括起来的子查询,它从单个列返回一个结果集,用于与标量表达式进行比较。

描述

谓词用于将值匹配到非结构化的项系列。 通常,它将列数据值与以逗号分隔的值列表进行比较。 可以执行相等比较和子查询比较。

与大多数谓词一样,可以使用NOT逻辑操作符反转。 和NOT IN都不能用于返回空字段。 返回字段使用。

可以在任何可以指定谓词条件的地方使用IN,如本手册的谓词概述页面所述。

相等测试

谓词可以用作多个相等比较的简写,这些比较用操作符连接在一起。 例如:

SELECT Name, Home_State FROM Sample.Person
WHERE Home_State IN ('ME','NH','VT','MA','RI','CT') 
0
0 136
文章 姚 鑫 · 十二月 8, 2021 5m read

第九章 SQL谓词 FOR SOME %ELEMENT

将列表元素值或列表元素的数量与谓词匹配。

大纲

FOR SOME %ELEMENT(field) [[AS] e-alias] (predicate)

参数

  • field - 将其元素与谓词进行比较的标量表达式(最常见的是数据列)。
  • AS e-alias - 可选-用于限定谓词中的%KEY%VALUE的元素别名。通常,当谓词包含嵌套的某些条件时,会使用此别名。别名必须是有效的标识符。
  • - 用括号括起来的谓词条件。 在这个条件中,使用和/或来确定条件匹配的是什么。 匹配元素值()。 匹配元素的最小数目()。 在此条件下,如果您指定了, 和可能是可选限定的。 这个谓词可以由多个带有和逻辑运算符的条件表达式组成。

描述

谓词将字段中的列表元素与指定的谓词匹配。 关键字指定字段中至少有一个元素必须满足指定的谓词子句。

谓词子句必须包含或关键字,后跟谓词条件。 这些关键字不区分大小写。

下面的例子解释了%VALUE和的用法:

  • 匹配所有包含值作为其列表元素之一的字段值。 该字段可以只包含单个元素Red,也可以包含多个元素,其中一个元素是。
  • 匹配所有包含至少个元素的字段值。 字段可以包含两个元素,也可以包含两个以上的元素。 值必须为正整数。 不匹配任何字段值。

FOR SOME %ELEMENT 不能用于匹配为空的字段。

0
0 109
文章 姚 鑫 · 十二月 7, 2021 4m read

第八章 SQL谓词 FOR SOME

确定是否根据字段值的条件测试返回记录。

大纲

FOR SOME (table [AS t-alias]) (fieldcondition)

参数

  • table - Table可以是单个表,也可以是用逗号分隔的表列表。 括号是必须的。

  • AS t-alias - 可选-前一个表名的别名。 别名必须是有效的标识符; 它可以是一个分隔符。

  • - fieldcondition 指定一个或多个引用一个或多个字段的条件表达式。 字段条件用括号括起来。 可以使用AND(&)和逻辑操作符在字段条件中指定多个条件表达式。

描述

谓词允许根据表中一个或多个字段值的布尔条件测试来决定是否返回记录。 如果计算结果为,则返回记录。 如果计算结果为,则不返回记录。

对于表(及其可选的)参数,必须使用括号分隔。 分隔括号对于字段条件参数也是强制性的。 允许(但不是必需的)在这两组括号之间使用空格。

通常,用于确定是否根据另一个表中一条记录的内容从一个表返回一条记录。 FOR SOME还可用于确定是否根据同一表中记录的内容从表中返回记录。 在后一种情况下,要么返回所有记录,要么不返回任何记录。

在下面的示例中,返回表中其Name字段值与表中的字段值匹配的所有记录:

SELECT Name,COUNT(Name) AS NameCount
FROM Sample.Person AS p
WHERE FOR SOME (Sample.Employee AS e)(e.Name=p.Name)
ORDER BY Name
0
0 168
文章 姚 鑫 · 十二月 6, 2021 2m read

第七章 SQL谓词 %FIND

使用位图块迭代将一个值匹配到一组生成的值。

大纲

scalar-expression %FIND valueset [SIZE ((nn))]

参数

  • scalar-expression - 一个标量表达式(最常见的是表的RowId字段),它的值正在与值集进行比较。
  • valueset - 对用户定义对象的对象引用(),该对象实现位图块迭代方法和ContainsItem()方法。 该方法接受一组数据值,并在与标量表达式中的值匹配时返回一个布尔值。
  • - 可选-用于查询优化的数量级整数(、100、等)。

描述

通过选择与值集中指定的值相匹配的数据值,通过迭代位图块序列中的值,谓词允许筛选结果集。 当标量表达式的值与中的值匹配时,此匹配将成功。 如果值集值不匹配任何标量表达式值,%FIND返回空字符串。 无论显示模式如何,这个匹配总是在逻辑(内部存储)数据值上执行。

和其他比较条件一样,用于语句的子句或子句中。

使用抽象的、通过编程指定的匹配值集来过滤字段值。 具体来说,它使用抽象的、编程指定的位图来过滤字段值,其中的值集行为类似于位图索引的下标层。

用户定义类派生自抽象类%SQL.AbstractFind。 这个抽象类定义了布尔方法。 ContainsItem()方法将标量表达式值与值集值匹配。

0
0 127
文章 姚 鑫 · 十二月 6, 2021 1m read

第六章 SQL谓词 EXISTS

检查表中是否至少存在一个对应行。

大纲

EXISTS select-statement

参数

  • select-statement - 一种简单的查询,通常包含一个条件表达式。

描述

EXISTS谓词测试指定的表,通常至少测试一行是否存在。 因为EXISTS后面的语句正在被检查是否包含某些内容,所以子句通常是这样的形式:

EXISTS (SELECT... FROM... WHERE...)
SELECT name
     FROM Table_A
     WHERE EXISTS
     (SELECT *
          FROM Table_B
          WHERE Table_B.Number = Table_A.Number)

在本例中,谓词测试子查询指定的一行或多行是否存在。

注意,测试必须发生在语句上(而不是在上)。

子句测试表中是否有一行不存在,如下例所示:

SELECT EmployeeName,Age
     FROM Employees
     WHERE NOT EXISTS (SELECT * FROM BonusTable
     WHERE NOT (BonusTable.Result = 'Positive'
     AND Employees.EmployeeNum = BonusTable.EmployeeNum))
0
0 142
文章 姚 鑫 · 十二月 4, 2021 4m read

第五章 SQL谓词 BETWEEN

大纲

scalar-expression BETWEEN lowval AND highval

参数

  • scalar-expression - 一种标量表达式(最常见的是数据列),将其值与低值和高值(包括高值)之间的值范围进行比较。
  • lowval - 解析为低排序规则序列值的表达式,指定与标量表达式中的每个值匹配的值范围的开始。
  • highval - 解析为高排序规则序列值的表达式,指定要与标量表达式中的每个值匹配的值范围的末尾。

描述

谓词允许选择和指定范围内的数据值。 这个范围包括低值和高值本身。 这等价于一对大于或等于操作符和一对小于或等于操作符。 下面的例子展示了这种比较:

SELECT Name,Age FROM Sample.Person
WHERE Age BETWEEN 18 AND 21
ORDER BY Age

这将返回中的所有记录。 年龄值介于到之间的人员表,包括这些值。 注意,必须按升序指定值; 例如这样的谓词将返回空字符串。 如果标量表达式的值都不在指定的范围内,则返回空字符串。

与大多数谓词一样,可以使用逻辑运算符进行反转。 BETWEEN和都不能用于返回字段。 返回字段使用。 的示例如下:

SELECT Name,Age FROM Sample.Person
WHERE Age NOT BETWEEN 20 AND 55
ORDER BY Age
0
0 176
文章 姚 鑫 · 十二月 3, 2021 1m read

第四章 SQL谓词 ANY

将值与子查询中的至少一个匹配值匹配。

大纲

scalar-expression comparison-operator ANY (subquery)

参数

  • scalar-expression - 将其值与子查询生成的结果集进行比较的标量表达式(最常见的是数据列)。
  • comparison-operator - 以下比较操作符之一:=(等于),<>或(不等于),(大于),(大于或等于),(包含),或(跟随)。
  • - 一个用括号括起来的子查询,它返回一个用于与标量表达式比较的结果集。

描述

关键字与比较操作符一起创建谓词(量化比较条件),如果标量表达式的值匹配子查询检索到的一个或多个对应值,则该谓词为真。 谓词将单个标量表达式项与单个子查询项进行比较。 具有多个选择项的子查询将生成错误。

注意:和关键字是同义词。

任何可以指定谓词条件的地方都可以使用ANY,如本手册的谓词概述页面所述。

在适用的情况下,系统自动对任意子查询应用集值子查询优化()。

示例

下面的例子选择了居住在密西西比河以西任何一个州的工资超过美元的员工:

SELECT Name,Salary,Home_State FROM Sample.Employee
WHERE Salary > 75000
AND Home_State = ANY
 (SELECT State FROM Sample.USZipCode
  WHERE Longitude < -93)
ORDER BY Home_State
0
0 156
文章 姚 鑫 · 十二月 2, 2021 2m read

第三章 SQL谓词 ALL

将值与子查询中的所有对应值匹配。

大纲

scalar-expression comparison-operator ALL (subquery)

参数

  • scalar-expression - 将其值与子查询生成的结果集进行比较的标量表达式(最常见的是数据列)。
  • comparison-operator - 以下比较操作符之一:=(等于),<>或(不等于),(大于),(大于或等于),(包含),或(跟随)。
  • - 一个用括号括起来的子查询,它从单个列返回一个结果集,用于与标量表达式进行比较。

描述

关键字与比较操作符一起创建谓词(量化比较条件),如果标量表达式的值与子查询检索到的所有对应值匹配,则该谓词为真。 谓词将单个标量表达式项与单个子查询项进行比较。 具有多个选择项的子查询将生成错误。

可以在任何可以指定谓词条件的地方使用,如本手册的谓词概述页面所述。

在适用的情况下,系统自动对子查询应用集值子查询优化(SVSO)。

示例

下面的示例选择了数据库中小于数据库中所有年龄的年龄:

SELECT DISTINCT Age FROM Sample.Person
WHERE Age < ALL
   (SELECT Age FROM Sample.Employee)
ORDER BY Age
0
0 147
文章 姚 鑫 · 十二月 1, 2021 6m read

第二章 SQL谓词的概述(二)

谓词和%SelectMode

所有谓词都使用逻辑(内部存储)数据值进行比较。 但是,有些谓词可以对谓词值执行格式模式转换,将谓词值从ODBCDisplay格式转换为Logical格式。 其他谓词不能执行格式模式转换,因此必须始终以格式指定谓词值。

执行格式模式转换的谓词确定是否需要从匹配字段的数据类型(如)进行转换,并确定从设置进行转换的类型。 如果%SelectMode设置为逻辑格式以外的值(例如或),则必须以正确的ODBC或格式指定谓词值。

  • 相等谓词执行格式模式转换。 IRIS将谓词值转换为逻辑格式,然后与字段值进行匹配。 如果%SelectMode设置为逻辑格式以外的模式,则必须以%SelectMode格式(ODBC或Display)指定显示值与逻辑存储值不同的数据类型的谓词值。 例如,日期、时间和格式的字符串。 因为IRIS会自动执行这种格式转换,所以在格式中指定这种类型的谓词值通常会导致错误。 例如,“无法将日期输入转换为有效的逻辑日期值”(IRIS假设提供的逻辑值是ODBC或值,并试图将其转换为逻辑值——但没有成功)。 受影响的谓词包括、、和。
  • 模式谓词不能执行格式模式转换,因为IRIS不能有意义地转换谓词值。 因此,谓词值必须以格式指定,而不管设置如何。 以ODBC或格式指定谓词值通常会导致没有数据匹配或意外的数据匹配。
0
0 105
文章 姚 鑫 · 十一月 30, 2021 1m read

第一章 SQL谓词的概述(一)

描述计算结果为真或假的逻辑条件。

使用谓词

谓词是一个条件表达式,其计算结果为布尔值(truefalse)。

谓词可以如下使用:

  • SELECT语句的WHERE子句或HAVING子句中确定哪些行与特定查询相关。 注意,不是所有谓词都可以在子句中使用。
  • 在操作的子句中确定哪些行与连接操作相关。
  • 在或语句的WHERE子句中,确定要修改哪些行。
  • 语句的子句中。
  • CREATE TRIGGER语句的子句中确定何时应用触发操作代码。

谓词列表

每个谓词包含一个或多个比较操作符,可以是符号,也可以是关键字子句。 SQL支持以下比较操作符:

  • (equals) , (does not equal), (does not equal), (is greater than), (is greater than or equal to),和比较条件。 匹配必须在两个指定的范围限制值(包括)之间。
  • , - 一个等式条件,它将字段值与逗号分隔列表中的任何项或子查询返回的任何项匹配。
  • - 将字段值与结构化列表中的任何元素匹配的相等条件。
  • - 包含运算符。 必须包含指定的字符串。 Contains操作符使用排序规则,因此区分大小写。 必须以逻辑格式指定值。
  • - 跟随运算符。在排序规则序列中,匹配项必须出现在指定项之后。
0
0 140
文章 Weiwei Gu · 十一月 29, 2021 3m read

不是所有的多模型数据库都是相同的

作者:David Menninger

今天,许多现代应用程序需要的数据库管理能力往往不能通过一种方式就能实现。例如,当我建立一个支持旅游推荐和预订业务的应用程序时,我可能需要使用一些不同类型的数据库,包括用于用户会话的键值存储,用于产品目录的文档数据库,用于推荐的图形数据库,以及用于财务数据的关系数据库。

0
0 238
文章 Michael Lei · 十一月 25, 2021 8m read

关于 "智慧医院 "的真正内涵,有很多误解在流传。术语 "智慧Smart "已经成为 "自动化 " "数字设备 "的同义词。然而,事实是,增加技术、设备和传感器并不一定能使建筑或者医院变得'智慧'。而且,在某些情况下,数字创新被强加于医院,而没有真正考虑到其效果。

这种情况导致了一系列的复杂性和矛盾。例如,一方面,人们对医院采用数字技术的期望越来越高,但另一方面,人们越来越担心数字医疗解决方案正在创造更多离散的、孤岛的生态系统。同样,尽管医院面临着实现实时医疗系统的更大压力,但往往受制于其运营模式的孤岛性质或围绕各种医疗信息系统的互操作性问题。

这些相互冲突的压力表明,需要一种更协同、更集成、更综合、更全面的数字化转型方法--一种将系统整合在一起并从各个角度考虑影响的方法。

智慧医院数字孪生的出现,证明了这一技术为解决这些日益严峻的挑战提供了可行的手段。

在过去的几年里,数字孪生已经有了很大的发展,成为一项值得期待的技术。然而,尽管数字孪生被炒得沸沸扬扬,但对于数字孪生是什么(不是什么)以及它是否能实现其承诺,仍然存在相当大的困惑。像许多新技术一样,数字孪生正在 "幻觉破灭 "中挣扎并且在某些情况下被错误地描述。

在本文中,我们将通过回答这六个关键问题来正面解决这种困惑。

1
0 886
文章 姚 鑫 · 十一月 28, 2021 2m read

第九十章 SQL命令 WHERE CURRENT OF

使用游标指定当前行的UPDATE/DELETE子句。

大纲

WHERE CURRENT OF cursor

参数

  • cursor - 指定在光标的当前位置执行操作,光标是指向表的光标。

描述

WHERE CURRENT OF子句可用于基于游标的嵌入式SQL UPDATE或语句,以指定位于要更新或删除记录上的游标。 例如:

   &sql(DELETE FROM Sample.Employees WHERE CURRENT OF EmployeeCursor)

删除最后一个命令从游标获得的行。

嵌入式SQL 或可以使用WHERE子句(不带游标)或(带声明游标),但不能同时使用两者。 如果指定的或既不带也不带,则会更新或删除表中的所有记录。

更新的限制

当使用子句时,不能使用当前字段值更新字段以生成更新的值。 例如,或SET Name=UPPER(Name)。 尝试这样做会导致错误: = not allowed with WHERE CURRENT OF

示例

下面的嵌入式SQL示例显示了使用的操作:

ClassMethod WhereCurrentOf()
{
	n %ROWCOUNT,%ROWID
	&sql(
		DECLARE WPCursor CURSOR FOR 
			SELECT Lang FROM SQLUser.WordPairs
			WHERE Lang='Sp'
	)
	&sql(OPEN WPCursor)
	q:(SQLCODE '= 0)
	for { 
		&sql(FETCH WPCursor)
		q:SQLCODE 
		&sql(
			UPDATE SQLUser.WordPairs SET Lang='Es'
			WHERE CURRENT OF WPCursor
		)
		if SQLCODE = 0 {
			w !,"Update succeeded"
			w !,"Row count=",%ROWCOUNT," RowID=",%ROWID 
		} else {
			w !,"Update failed, SQLCODE=",SQLCODE 
		}
	}
	&sql(CLOSE WPCursor)
}
0
0 120
文章 姚 鑫 · 十一月 27, 2021 4m read

第八十九章 SQL命令 WHERE(二)

相等比较谓词

下面是可用的相等比较谓词:

Predicate Operation
= Equals
<> Does not equal
!= Does not equal
> Is greater than
< |Is less than >= Is greater than or equal to
<= |Is less than or equal to 例如: %%CODEBLOCK_0%% SQL根据排序规则(值的排序顺序)定义了比较操作。 如果两个值以完全相同的方式排序,则它们相等。 如果一个值排在第二个值之后,则该值大于另一个值。 字符串字段排序规则接受字段的默认排序规则。 IRIS默认排序规则不区分大小写。 因此,两个字符串字段值的比较或字符串字段值与字符串文字的比较(默认情况下)是不区分大小写的。 例如,如果`Home_State`字段值是两个字母的大写字符串: Expression| Value ---|--- 'MA' = Home_State |TRUE for values MA. 'ma' = Home_State |TRUE for values MA.
0
0 111