在医院信息化领域,中日联谊医院最近一次站在行业瞩目的聚光灯下,是在2021年7月。在国家卫生健康委统计信息中心发布的《关于2020年度国家医疗健康信息互联互通标准化成熟度测评结果公示的通知》中,9家医院获评五级乙等,中日联谊医院名列其中。这也是目前为数不多的“通关”互联互通五乙的医院之一。
InterSystems Caché 是一个多模型 DBMS 和应用服务器。
查看此处提供的更多详细信息。
文档。
在医院信息化领域,中日联谊医院最近一次站在行业瞩目的聚光灯下,是在2021年7月。在国家卫生健康委统计信息中心发布的《关于2020年度国家医疗健康信息互联互通标准化成熟度测评结果公示的通知》中,9家医院获评五级乙等,中日联谊医院名列其中。这也是目前为数不多的“通关”互联互通五乙的医院之一。
本地库 在打开studio、studio编译类、关闭studio等操作系统卡死,关闭后连接超时。
打开cconsole.log报错日志,提示***严重的磁盘读写错误,I/O错误***,对数据库做了一致性检查,也未发现错误,必须重启电脑或者force库后恢复使用。
请问是什么问题造成的。。。
09/08/21-08:33:52:611 (11940) 1 [SYSTEM MONITOR] DiskPercentFull(d:\cachedb\hippapp\) Warning: DiskPercentFull = 95.08 ( Warnvalue is 95).
09/08/21-08:33:52:617 (11940) 1 [SYSTEM MONITOR] DiskPercentFull(d:\cachedb\hippmsg\) Warning: DiskPercentFull = 95.08 ( Warnvalue is 95).
创建作为SQL存储过程公开的方法或查询。
CREATE PROCEDURE procname(parameter_list)
[ characteristics ]
[ LANGUAGE SQL ]
BEGIN
code_body ;
END
CREATE PROCEDURE procname(parameter_list)
[ characteristics ]
LANGUAGE OBJECTSCRIPT
{ code_body }
CREATE PROCEDURE procname(parameter_list)
[ characteristics ]
LANGUAGE { JAVA | PYTHON | DOTNET } EXTERNAL NAME external-stored-procedure
CREATE PROC procname(parameter_list)
[ characteristics ]
[ LANGUAGE SQL ]
BEGIN
code_body ;
END
CREATE PROC procname(parameter_list)
[ characteristics ]

可用的关键字如下:
FOR className - 指定要在其中创建方法的类的名称。
如果这个类不存在,它将被创建。
还可以通过限定方法名来指定类名。
FOR子句中指定的类名通过限定方法名重写指定的类名。FINAL - 指定子类不能重写该方法。
默认情况下,方法不是final。
FINAL关键字由子类继承。PRIVATE - 指定该方法只能由它自己的类或子类的其他方法调用。
默认情况下,方法是公共的,可以不受限制地调用。
这个限制由子类继承。PROCEDURE - 指定该方法是一个SQL存储过程。
存储过程由子类继承。
(这个关键字可以缩写为PROC。)RESULT SETS ,DYNAMIC RESULT SETS [n] - 指定创建的方法将包含ReturnResultsets关键字。
这一特征短语的所有形式都是同义词。RETURNS datatype - 指定调用该方法返回的值的数据类型。
如果省略RETURNS,则该方法不能返回值。
这个规范由子类继承,并且可以由子类修改。
该数据类型可以指定类型参数,如MINVAL、MAXVAL和SCALE。
例如RETURNS DECIMAL(19,4)。
注意,当返回一个值时, IRIS会忽略数据类型的长度;
例如,RETURNS VA
我想在centos访问我部署在windows上的cache 数据库, 我使用了**InterSystems.Data.CacheClient.dll **在我的linux程序中,但是它不能正常的在centos机器上运行,但是可以在我的windows平台运行(改windows平台不是安装cache数据库,并且也没有安装任何cache 软件),有人知道这个怎么解决吗?
try { if (conn.State != ConnectionState.Open) { conn.Open(); } CacheCommand cmd = new CacheCommand(); cmd.Connection = this.conn; if (inTransaction) cmd.Transaction = trans; DataSet ds = new DataSet(); CacheDataAdapter ad = new CacheDataAdapter(); cmd.CommandText = QueryString; //CLogger._log.Debug(QueryString); ad.SelectCommand = cmd; ad.Fill(ds); ad.Dispose(); return ds; } catch (Exception e2) { throw e2; }
在类中创建方法。
CREATE [STATIC] METHOD name (parameter_list)
[ characteristics ]
[ LANGUAGE SQL ]
BEGIN
code_body ;
END
CREATE [STATIC] METHOD name (parameter_list)
[ characteristics ]
LANGUAGE OBJECTSCRIPT
{ code_body }
name - 要在存储过程类中创建的方法的名称。
名称必须是有效的标识符。
过程名可以是限定的(schema.procname),也可以是非限定的(procname)。
非限定过程名接受默认模式名。
名称后面必须跟括号,即使没有指定参数。parameter_list - 可选——传递给方法的参数列表。
参数列表用圆括号括起来,列表中的参数用逗号分隔。
即使没有指定参数,括号也是必须的。characteristics - 可选—指定方法特征的一个或多个关键字。
允许的关键字是RETURNS, FOR, FINAL, PRIVATE, PROCEDURE, SELECTMODE。可以指定特征关键字短语RESULT SETS、DYNAMIC 使用UNIQUE关键字,可以指定索引中的每条记录都有一个唯一的值。
更具体地说,这确保了索引(以及包含索引的表)中的两条记录不能具有相同的排序值。
默认情况下,大多数索引使用大写字符串排序(使搜索不区分大小写)。
在本例中,值“Smith”和“SMITH”被认为是相等的,而不是唯一的。
CREATE INDEX不能指定非默认索引字符串排序规则。
通过在类定义中定义索引,可以为各个索引指定不同的字符串排序规则。
可以更改名称空间的默认排序规则,使字段/属性在默认情况下区分大小写。 更改此选项需要重新编译命名空间中的所有类并重新构建所有索引。 转到Management Portal,选择Classes选项,为存储的查询选择名称空间,并使用Compile选项重新编译相应的类。 然后重建所有指数。 它们将区分大小写。
注意:当表的数据被其他用户访问时,不要重建索引。 这样做可能会导致不准确的查询结果。
使用BITMAP关键字,你可以指定这个索引将是位图索引。
位图索引由一个或多个位字符串组成,其中位位置表示行id,每个位值表示该行字段(或合并字段名字段的值)的特定值的存在(1)或不存在(0)。
SQL在插入、更新或删除数据时维护这些位置位(作为压缩位串);
在使用位图索引和使用常规索引之间,IN
为表创建索引。
CREATE [UNIQUE | BITMAP | BITMAPEXTENT | BITSLICE ] INDEX index-name
ON [TABLE] table-name
(field-name, ...)
[AS index-class-name [ (parameter-name = parameter_value, ... ) ] ]
[WITH DATA (datafield-name, ...)]
UNIQUE - 可选的——一个约束,确保表中不会有两行索引中所有字段的值相同。不能为位图或位片索引指定此关键字。UNIQUE关键字后面可以跟(或被)CLUSTERED或NONCLUSTERED关键字替换。
这些关键字是no-ops;
它们是为了与其他供应商兼容而提供的。BITMAP - 可选—表示创建位图索引。
位图索引允许对具有少量不同值的字段进行快速查询。BITMAPEXTENT - 可选-表示应该创建位映射范围索引。
一个表最多只能创建一个位映射范围索引。
BITMAPEXTENT中没有指定字段名。BITSLICE - 可选—创建位片索引。
位片索引可以非常快速地计算某些表达式,比如求和和范围条件。
这是一种专用数据填充一个或多个索引。
BUILD INDEX [%NOLOCK] [%NOJOURN] FOR TABLE table-name [INDEX index-name [,index-name]]
BUILD INDEX [%NOLOCK] [%NOJOURN] FOR SCHEMA schema-name
BUILD INDEX [%NOLOCK] [%NOJOURN] FOR ALL
FOR TABLE table-name - 已存在表的名称。
表名可以是限定的(schema.table),也可以是非限定的(table)。
非限定表名接受默认模式名。INDEX index-name - 可选—索引名称或以逗号分隔的索引名称列表。
如果指定,则只构建这些索引。
如果未指定,将构建为表定义的所有索引。FOR SCHEMA schema-name - 现有模式的名称。
此命令为指定模式中的所有表构建所有索引。BUILD INDEX提供了三种语法形式来构建/重新构建所有已定义的索引:
Table: BUILD INDEX FOR TABLE table-name. 可选的INDEX子句允许仅构建/重新构建指定的索引。BUILD INDEX FOR schema schema-nam修改视图。
ALTER VIEW view-name [(column-commalist)] AS query [WITH READ ONLY]
ALTER VIEW view-name [(column-commalist)] AS query [WITH [level] CHECK OPTION]
| 参数 | 描述 |
|---|---|
view-name | 被修改的视图,它具有与表名相同的命名规则。视图名可以是限定的(schema.viewname),也可以是非限定的(viewname)。非限定视图名接受默认模式名。 |
column-commalist | 可选-组成视图的列名。如果这里没有指定,可以在查询中指定列名,如下所示。 |
query | 作为视图基础的结果集(来自查询)。 |
WITH READ ONLY | 可选-指定不能通过此视图对视图所基于的表执行插入、更新或删除操作。默认情况下,允许通过视图进行这些操作,约束如下所示。 |
WITH level CHECK OPTION | 可选-指定如何通过此视图对视图所基于的表执行插入、更新或删除操作。级别可以是关键字LOCAL或CASCADED。如果没有指定级别,则WITH CHECK OPTION默认为级联。 |
ALTER VIEW命令用于修改视图。
视图基于由SELECT

2021 年 8 月的学习资料现在可以在learning.intersystems.com上独家获取!您可以:
注意:老是错过最新消息?别担心,我们会在9月恢复正常的邮件发送。
修改用户密码。
ALTER USER user-name IDENTIFY BY password
ALTER USER user-name IDENTIFIED BY password
| 参数 | 描述 |
|---|---|
| user-name | 待修改密码的已有用户名。用户名不区分大小写。 |
| password | 用户的新密码。密码必须至少包含3个字符,并且不能超过32个字符。密码区分大小写。密码可以包含Unicode字符。 |
ALTER USER命令允许更改用户的密码。可以随时更改自己的密码。要更改其他用户的密码,必须拥有%Admin_Secure:USE系统权限。
IDENTIFY BY和IDENTIFIED BY关键字是同义词。
user-name必须是已存在的用户。
指定一个不存在的用户将生成一个带有%msg的SQLCODE -400错误,如下所示:ERROR #838: User badname does not exist。可以通过调用$SYSTEM.SQL.Security.UserExists()方法来确定用户是否存在。
作为分隔标识符指定的用户名可以是SQL保留字,可以包含逗号(,)、句号(.)、插入符号(^)和两个字符的箭头序列(->)。
它可以以除星号(*)以外的任何有效字符开头。
密码可以是字符串字面值
DROP COLUMN可以删除指定为逗号分隔列表的多个列定义。每个列出的列名后面必须紧跟其RESTORY或CASCADE(如果未指定,则默认为RESTRICE)和%DELDATA或%NODELDATE(如果未指定,则默认为%NODELDATA)选项。
默认情况下,删除列定义不会从数据映射中删除存储在该列中的任何数据。
要同时删除列定义和数据,请指定%DELDATA选项。
删除列定义并不删除相应的列级特权。 例如,授予用户在该列上插入、更新或删除数据的权限。 这将产生以下后果:
由于这些原因,通常建议在删除列定义之前使用REVOKE命令从列中撤销列级特权。
RESTRICT关键字(或无关键字):如果列出现在索引中,或者定义在外键约束或其他唯一约束中,则不能删除该列。
为该列尝试DROP COLUMN失败,并出现SQLCODE -322错误。
默认为RESTRICT。
CASCADE关键字:如果该列出现在索引中,该索引将被删除。
可能有多个索引。
如果列出现在外键中,则将删除外键。
可能有多个外键。
如果列在COMPUTECODE或COMPUTEONCHANGE子句中使用,则不能删除该列。
