我过去常常查看%G的来源,但最近Intersystems已停止分发.INT代码.我想在理论上我可以在循环中使用eXecute语句来检查每个合法全局名称上的$ D,但这很愚蠢且不合理地慢.
那么目前正确的方法是什么呢?
您是否知道在单个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) 一切都在主题中,真的.
我没有看到这两种方法之间的行为差异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)
必须有一些理由为什么这两个修饰语都存在,但是我对语言的"掌握"(嗯)不足以理解这些差异.我已经尝试并阅读了文档,搜索它等,到目前为止无济于事.
那么,这两个参数修饰符之间有什么区别?
从一张桌子算起来时,我遇到了一个奇怪的问题.表名是Client,并且有一个名为CardNo的varchar(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
我想知道IntersystemsCaché数据库是否有"mid"功能.我试图用它来解决这里的问题,我需要从第8个字符读取任何大小的字符串,我收到以下错误:
Error: General error
SQLState: S1000
ErrorCode: 0
Run Code Online (Sandbox Code Playgroud)
谢谢你们.
当然,当您需要在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
我试图确定表中最早的记录,结果却有矛盾.
场景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) 我从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)
但由于某种原因,它只返回第一行的所有字段而不返回任何其他字段.这是一个错误,还是我做错了?
如何%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) 什么是CachéObjectScript将参数传递给基础构造函数的方法?
例如,在C#中,您将执行以下操作:
public MyConstructor(string id) : base(id) { }
Run Code Online (Sandbox Code Playgroud)
id您希望传递给基础构造函数的值在哪里.
该文件说,这是允许的:
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参数吗?
这是我目前的查询:
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.我怎样才能做到这一点?
最近,我的项目经理让我从事 InterSystems Cache ObjectScript 的工作。早些时候,我曾担任 Java 开发人员 (J2EE)。所以我的问题是 Cache 与 Java 有何不同。比较会很棒。
intersystems intersystems-cache intersystems-cache-studio intersystems-cache-zen intersystems-healthshare