标签: intersystems-cache

枚举命名空间中的全局变量的当前首选方法是什么?

我过去常常查看%G的来源,但最近Intersystems已停止分发.INT代码.我想在理论上我可以在循环中使用eXecute语句来检查每个合法全局名称上的$ D,但这很愚蠢且不合理地慢.

那么目前正确的方法是什么呢?

intersystems-cache

4
推荐指数
1
解决办法
511
查看次数

要列出的CachéSQL列

您是否知道在单个SQL语句中创建下面的结果集的任何方法?

记录集:

ID  AC9         Value
1   11111111    A
2   11111111    B
3   11111111    C
4   11111111    D
5   22222222    B
6   22222222    C
7   22222222    D
8   22222222    E
9   22222222    F
10  22222222    G
Run Code Online (Sandbox Code Playgroud)

结果集:

AC9         MyValue
11111111    A,B,C,D
22222222    B,C,D,E,F,G
Run Code Online (Sandbox Code Playgroud)

sql intersystems-cache

3
推荐指数
1
解决办法
434
查看次数

ByRef和Output方法参数修饰符之间有什么区别?

一切都在主题中,真的.

我没有看到这两种方法之间的行为差​​异x:

// first version
Method m(ByRef x As whatever)
{
    // play with x
}

// second version
Method m(Output x As whatever)
{
    // play with x
}
Run Code Online (Sandbox Code Playgroud)

必须有一些理由为什么这两个修饰语都存在,但是我对语言的"掌握"(嗯)不足以理解这些差异.我已经尝试并阅读了文档,搜索它等,到目前为止无济于事.

那么,这两个参数修饰符之间有什么区别?

intersystems-cache objectscript

3
推荐指数
1
解决办法
246
查看次数

来自COUNT查询的意外结果

从一张桌子算起来时,我遇到了一个奇怪的问题.表名是Client,并且有一个名为CardNovarchar(200)列.数据库引擎是Intersystems Cache,查询语法是SQL.

我执行下面的查询以获得具有/没有CardNo的客户端的数量.但得到意想不到的结果如下.

select count(*) from Client
where CardNo is null
--Result: 38000

select count(*) from Client
where CardNo is not null
--Result: 78000

select count(*) from Client
--Result: 265000
Run Code Online (Sandbox Code Playgroud)

没有CardNo的客户端数量是38000.CardNo的客户端数量是78000.表中所有客户端的数量是265000,不等于78000 + 38000.这怎么可能发生?根据文档,查询样式应该没有问题 http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_null

sql database intersystems count intersystems-cache

3
推荐指数
1
解决办法
108
查看次数

IntersystemsCaché是否具有"中级"功能?

我想知道IntersystemsCaché数据库是否有"mid"功能.我试图用它来解决这里的问题,我需要从第8个字符读取任何大小的字符串,我收到以下错误:

    Error: General error
    SQLState:  S1000
    ErrorCode: 0
Run Code Online (Sandbox Code Playgroud)

谢谢你们.

sql intersystems-cache

2
推荐指数
1
解决办法
240
查看次数

在IntersystemsCaché中使用ENUM的最佳实践是什么?

当然,当您需要在Java中实现类似以下示例的解决方案时,Caché本身并不实现诸如Java之类的ENUM,但在Caché中,最佳实践是什么?

public enum Planet {
    MERCURY (3.303e+23, 2.4397e6),
    VENUS   (4.869e+24, 6.0518e6),
    EARTH   (5.976e+24, 6.37814e6),
    MARS    (6.421e+23, 3.3972e6),
    JUPITER (1.9e+27,   7.1492e7),
    SATURN  (5.688e+26, 6.0268e7),
    URANUS  (8.686e+25, 2.5559e7),
    NEPTUNE (1.024e+26, 2.4746e7);

    private final double mass;   // in kilograms
    private final double radius; // in meters
    Planet(double mass, double radius) {
        this.mass = mass;
        this.radius = radius;
    } 
    private double mass() { return mass; }
    private double radius() { return radius; }
}

final Planet mars = Planet.MARS;
Run Code Online (Sandbox Code Playgroud)

简单地访问代码 Planet.MARS

enums caching intersystems intersystems-cache

2
推荐指数
1
解决办法
497
查看次数

最古老的记录差异?

我试图确定表中最早的记录,结果却有矛盾.

场景1

SELECT TOP 10 * FROM Ens_Util.Log ORDER BY TimeLogged ASC

SELECT TOP 10 text, TimeLogged, TraceCat, Type FROM Ens_Util.Log ORDER BY TimeLogged ASC

Text                            TimeLogged          TraceCat    Type
Email sent via mailserv:25      2016-05-08 01:00:01 (null)      4
[Requested record not found]    2016-05-08 01:01:13 (null)      2
[Requested record not found]    2016-05-08 01:04:39 (null)      2
[Requested record not found]    2016-05-08 01:04:53 (null)      2
[Requested record not found]    2016-05-08 01:05:22 (null)      2
[Requested record not found]    2016-05-08 01:05:45 (null)      2
[Requested record not …
Run Code Online (Sandbox Code Playgroud)

sql intersystems-cache

2
推荐指数
1
解决办法
73
查看次数

Intersystems Cache:Embed SQL始终只返回第一行

我从off复制了代码.文档:

&sql(SELECT *,%ID INTO :tflds()   
        FROM Sample.Person )
   IF SQLCODE=0 {
     SET firstflds=14
     FOR i=0:1:firstflds { 
       IF $DATA(tflds(i)) {
       WRITE "field ",i," = ",tflds(i),! }
     } }
   ELSE {WRITE "SQLCODE error=",SQLCODE,! }
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,它只返回第一行的所有字段而不返回任何其他字段.这是一个错误,还是我做错了?

intersystems intersystems-cache

2
推荐指数
1
解决办法
158
查看次数

在select语句中显示%ROWCOUNT值

如何%ROWCOUNT在SQL语句中显示结果.

Select top 10 * from myTable.
Run Code Online (Sandbox Code Playgroud)

我希望结果为rowCount结果集中返回的每一行都有一个

防爆

+----------+--------+---------+
|rowNumber |Column1 |Column2  |
+----------+--------+---------+
|1         |A       |B        |
|2         |C       |D        |
+----------+--------+---------+
Run Code Online (Sandbox Code Playgroud)

intersystems-cache intersystems-cache-studio

2
推荐指数
1
解决办法
409
查看次数

什么是CachéObjectScript将参数传递给基础构造函数的方法?

什么是CachéObjectScript将参数传递给基础构造函数的方法?

例如,在C#中,您将执行以下操作:

public MyConstructor(string id) : base(id) { }
Run Code Online (Sandbox Code Playgroud)

id您希望传递给基础构造函数的值在哪里.

intersystems intersystems-cache intersystems-ensemble

1
推荐指数
1
解决办法
649
查看次数

Intersystems Cache - 更正%ListOfObjects的语法

文件说,这是允许的:

ClassMethod GetContacts() As %ListOfObjects(ELEMENTTYPE="ContactDB.Contact") 
[WebMethod]   
Run Code Online (Sandbox Code Playgroud)

我想做这个:

Property Permissions As %ListOfObjects(ELEMENTTYPE="MyPackage.MyClass");
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

错误#5480:未声明属性参数:MyPackage.Myclass:ELEMENTTYPE

那么,我真的必须创建一个新类并为其中的每个列表设置ELEMENTTYPE参数吗?

intersystems intersystems-cache

1
推荐指数
1
解决办法
583
查看次数

除了ID和时间戳之外,所有字段都相同时获取第一条记录?

这是我目前的查询:

SELECT  TOP 6 *
FROM    HS_IHE_ATNA_Repository.Aggregation
WHERE   EventType = 'Retrieve Document Set'
Run Code Online (Sandbox Code Playgroud)

它返回看起来类似于此的数据:

ID     TimeStamp    tid    Fruit      Color       User     EventType
1      12:30:31     001    Apple      Red         Paul     Retrieve Document Set
2      12:30:32     001    Apple      Red         Paul     Retrieve Document Set
3      12:31:03     002    Orange     Orange      Steve    Retrieve Document Set
4      12:31:04     002    Orange     Orange      Steve    Retrieve Document Set
5      12:34:12     003    Banana     Yellow      Paul     Retrieve Document Set
6      12:34:13     003    Banana     Yellow      Paul     Retrieve Document Set
Run Code Online (Sandbox Code Playgroud)

我希望我的查询只返回记录1,3和5.基本上,所有东西都有一个独特的tid.我怎样才能做到这一点?

sql intersystems-cache

1
推荐指数
1
解决办法
1056
查看次数

InterSystems Cache ObjectScript 与 Java 在 Web 应用程序开发中的比较

最近,我的项目经理让我从事 InterSystems Cache ObjectScript 的工作。早些时候,我曾担任 Java 开发人员 (J2EE)。所以我的问题是 Cache 与 Java 有何不同。比较会很棒。

intersystems intersystems-cache intersystems-cache-studio intersystems-cache-zen intersystems-healthshare

0
推荐指数
1
解决办法
970
查看次数