文章
· 十月 9, 2021 阅读大约需 1 分钟
第四十章 SQL命令 DROP USER

第四十章 SQL命令 DROP USER

删除用户帐户。

大纲

DROP USER user-name

参数

  • user-name 要删除的用户名。

描述

DROP USER命令可删除用户帐户。此用户帐户是使用CREATE USER创建的,并指定了用户名。如果指定的用户名与现有用户帐户不对应, IRIS将发出SQLCODE-118错误。可以通过调用$SYSTEM.SQL.Security.UserExists()方法来确定用户是否存在。

用户名不区分大小写。

还可以使用管理门户删除用户。选择System Administration(系统管理)、Security(安全性)、Users(用户)以列出现有用户。在此用户帐户表上,可以单击要删除的用户帐户的删除。

0 0
0 44
文章
· 十月 24, 2021 阅读大约需 4 分钟
第五十五章 SQL命令 INSERT(四)

第五十五章 SQL命令 INSERT(四)

嵌入式SQL和动态SQL示例

下面的嵌入式SQL示例创建一个新表SQLUser.MyKids。下面的示例使用INSERT用数据填充此表。在插入示例之后,提供了一个删除SQLUser.MyKids的示例。

0 0
0 48
文章
· 十一月 9, 2021 阅读大约需 8 分钟
第七十一章 SQL命令 SELECT(三)

第七十一章 SQL命令 SELECT(三)

列别名

指定SELECT-ITEM时,可以使用AS关键字指定列名的别名:

SELECT Name AS PersonName, DOB AS BirthDate, ...

列别名在结果集中显示为列标题。指定列别名是可选的;始终提供默认值。列别名以指定的字母大小写显示;但是,当在ORDER BY子句中引用时,它不区分大小写。C别名必须是有效的标识符。C别名可以是分隔的标识符。使用带分隔符的标识符允许列别名包含空格、其他标点符号或作为SQL保留名称。例如,SELECT Name AS "Customer Name" or SELECT Home_State AS "From"

As关键字不是必需的,但使查询文本更易于阅读。因此,以下也是有效的语法:

0 0
0 95
文章
· 十一月 24, 2021 阅读大约需 2 分钟
第八十六章 SQL命令 USE DATABASE

第八十六章 SQL命令 USE DATABASE

设置当前名称空间和数据库。

大纲

USE [DATABASE] dbname

参数

  • dbname - 当前进程将使用的名称空间和相应的数据库作为当前名称空间。

描述

USE DATABASE命令将当前进程切换到指定的名称空间及其关联的数据库。
这允许在SQL中更改名称空间。
DATABASE关键字是可选的。

指定的dbname是所需的命名空间和包含数据库文件的对应目录的名称。
指定dbname作为标识符。
命名空间名称不区分大小写。

由于USERSQL保留字,因此必须使用分隔标识符来指定用户命名空间,如下面的SQL Shell示例所示:

0 0
0 74
文章
· 一月 13, 2022 阅读大约需 3 分钟
第二十三章 SQL函数 CAST(二)

第二十三章 SQL函数 CAST(二)

转换位值

可以将expr值转换为BIT以返回01
如果expr1或任何其他非零数值,则返回1
如果expr“TRUE”“TRUE”“TRUE”,则返回1
(“True”可以用任何大小写组合表示,但不能缩写为“T”。)
如果expr是任何其他非数值值,则返回0
如果expr0,则返回0

在下面的例子中,前5CAST操作返回1,后5CAST操作返回0:

0 0
0 38
文章
· 一月 31, 2022 阅读大约需 1 分钟
第四十章 SQL函数 DATALENGTH

第四十章 SQL函数 DATALENGTH

返回表达式中字符数的函数。

大纲

DATALENGTH(expression)

参数

  • expression - 表达式,可以是列的名称、字符串字面值或另一个标量函数的结果。
    基础数据类型可以是字符类型(如CHARVARCHAR)、数字或数据流。

DATALENGTH返回INTEGER数据类型。

描述

注意:DATALENGTHCHAR_LENGTHCHARACTER_LENGTH函数是相同的。
对于新代码,建议使用CHAR_LENGTH函数。
DATALENGTH是为TSQL兼容性而提供的。

0 0
0 52
文章
· 二月 14, 2022 阅读大约需 3 分钟
第五十四章 SQL函数 EXP

第五十四章 SQL函数 EXP

返回数字的指数(自然对数的倒数)的标量数值函数。

大纲

{fn EXP(expression)}

参数

  • expression - 对数指数,数值表达式。

EXP返回NUMERICDOUBLE数据类型。如果表达式的数据类型为DOUBLE,则EXP返回DOUBLE;否则返回NUMERIC

描述

Exp是指数函数e n,其中e是常数2.718281828。因此,要返回e的值,可以指定{fn exp(1)}Exp是自然对数函数log的逆函数。

0 0
0 36
文章
· 三月 17, 2022 阅读大约需 2 分钟
第八十四章 SQL函数 $LISTFROMSTRING

第八十四章 SQL函数 $LISTFROMSTRING

从字符串创建列表的列表函数。

大纲

$LISTFROMSTRING(string[,delimiter])

参数

  • string - 要转换为 列表的字符串。此字符串包含一个或多个元素,由分隔符分隔。分隔符不会成为生成的列表的一部分。
  • delimiter - 可选 — 用于分隔字符串中的子字符串(元素)的分隔符。将分隔符指定为带引号的字符串。如果未指定分隔符,则默认为逗号 (,) 字符。

描述

$LISTFROMSTRING 接受一个包含分隔元素的带引号的字符串并返回一个列表。列表以不使用分隔符的编码格式表示数据。因此,列表可以包含所有可能的字符,并且非常适合位串数据。使用 ObjectScript 和 SQL $LIST 函数处理列表。

0 0
0 55
文章
· 四月 2, 2022 阅读大约需 2 分钟
第100章 SQL函数 NULLIF

第100章 SQL函数 NULLIF

如果两个表达式具有相同的值,则返回 NULL 的函数。

大纲

NULLIF(expression1,expression2)

参数

  • expression1 - 表达式,可以是列名、数字或字符串文字、主变量或另一个标量函数的结果。
  • expression2 - 表达式,可以是列名、数字或字符串文字、主变量或另一个标量函数的结果。

NULLIF 返回与 expression1 相同的数据类型。

描述

如果 expression1 的值等于 expression2 的值,则 NULLIF 函数返回 NULL。否则,它返回 expression1 值。

NULLIF 等价于:

0 0
0 36

各位开发者们好,

欢迎在我们的 Bilibili 频道观看新视频:

//player.bilibili.com/player.html?aid=425518605&bvid=BV1h3411J7hC&cid=573953217&page=1
[这是一个嵌入式链接,但由于您拒绝了访问嵌入式内容所需的 Cookie,您无法直接在网站上进行查看。要查看嵌入式内容,您需要在 Cookie 设置中接受所有 Cookie。]

0 0
0 72
文章
· 五月 15, 2022 阅读大约需 7 分钟
第143章 SQL函数 TO_DATE(一)

第143章 SQL函数 TO_DATE(一)

将格式化字符串转换为日期的日期函数。

大纲

TO_DATE(date_string[,format])

TODATE(date_string[,format])

参数

  • date_string - 要转换为日期的字符串。基础数据类型为 CHARVARCHAR2 的字符串日期表达式。
  • format - 可选 — 对应于 date_string 的日期格式字符串。如果省略格式,DD MON YYYY& 是默认值;此默认值是可配置的。

描述

名称 TO_DATETODATE 是可互换的,并且支持 Oracle 兼容性。

0 0
0 146
文章
· 五月 31, 2022 阅读大约需 1 分钟
第158章 SQL函数 XMLCONCAT

第158章 SQL函数 XMLCONCAT

注:IRIS函数。

连接 XML 元素的函数。

大纲

XMLCONCAT(XmlElement1,XmlElement2[,...])

参数

  • XmlElement - XMLELEMENT 函数。指定两个或多个要连接的 XmlElement

描述

XMLCONCAT 函数将来自多个 XMLELEMENT 函数的值作为单个字符串返回。 XMLCONCAT 可用于引用表或视图的 SELECT 查询或子查询。 XMLCONCAT 可以与普通字段值一起出现在 SELECT 列表中。

示例

以下查询连接来自两个 XMLELEMENT 函数的值:

0 0
0 51
文章
· 六月 19, 2022 阅读大约需 3 分钟
第四章 锁定和并发控制(四)

第四章 锁定和并发控制(四)

避免死锁

增量锁定具有潜在危险,因为它可能导致称为死锁的情况。当两个进程各自对已被另一个进程锁定的变量断言增量锁定时,就会出现这种情况。因为尝试的锁是增量的,所以现有的锁不会被释放。结果,每个进程在等待另一个进程释放现有锁的同时挂起。

举个例子:

  1. 进程 A 发出此命令:lock + ^MyGlobal(15)
  2. 进程 B 发出此命令:lock + ^MyOtherGlobal(15)
  3. 进程 A 发出此命令:lock + ^MyOtherGlobal(15)

LOCK 命令不返回;进程被阻塞,直到进程 B 释放这个锁。

0 0
0 80
文章
· 七月 5, 2022 阅读大约需 5 分钟
第十九章 使用工作队列管理器(二)

第十九章 使用工作队列管理器(二)

基本工作流程

可以通过执行以下步骤来使用工作队列管理器:

  1. ObjectScript 代码划分为工作单元,这些工作单元是满足特定要求的类方法或子例程。
  2. 创建一个工作队列,它是 %SYSTEM.WorkMgr 类的一个实例。为此,请调用 %SYSTEM.WorkMgr 类的 %New() 方法。该方法返回一个工作队列。

可以指定要使用的并行worker jobs的数量,也可以使用默认值,这取决于机器和操作系统。此外,如果已创建类别,则可以指定应从中获取job的类别。

创建工作队列时,工作队列管理器会创建以下工件:
- 包含有关工作队列的信息的全局变量,例如工作队列在哪个命名空间中运行
- 工作队列必须处理的序列化工作单元的位置和事件队列
- 在工作队列完成处理工作单元时创建的完成事件的位置和事件队列

0 0
0 56
文章
· 八月 4, 2023 阅读大约需 3 分钟
在 InterSystems IRIS 中创建具有超过 999 个属性的类/表

InterSystems IRIS 目前将类限制为 999 个属性。

但是,如果您需要为每个对象存储更多数据该怎么办?

本文将回答这个问题(附加了社区 Python 网关的客串以及如何将广泛的数据集传输到 Python 中)。

答案其实很简单 - InterSystems IRIS 目前将类限制为 999 个属性,但不限制 999 个基元(primitives)。 InterSystems IRIS 中的属性可以是具有 999 个属性的对象等等 - 该限制很容易被忽略。

0 0
0 57

上个帖子写了TuneTable的执行, 提到了SQL优化器使用的那些统计数据, 这里逐一的介绍一下这些统计项。了解它们看懂和分析SQL执行计划的基础。 如果您不需要做单个查询的优化工作,可以调过这部分内容。

表的统计项

  • Extent Size: 表的大小,也就是记录数。在执行多表关联(JOIN)的查询时,SQL优化器会根据Extent Size值,从数据量最小的表来开始执行查询。

您还需要了解:表创建的时候Extent Size会获得一个初始值,而之后的插入修改数据并不自动修改这个值。而只有执行TuneTable才会修改这个。 这也就是为什么没有执行过TuneTable的数据库SQL性能好不了的原因。下图中的Patient表,可以看出有1,000,000记录

0 0
0 16
文章
· 三月 10, 2021 阅读大约需 5 分钟
第七章 SQL表之间的关系

第七章 SQL表之间的关系

要在表之间强制执行引用完整性,可以定义外键。修改包含外键约束的表时,将检查外键约束。

定义外键

有几种方法可以在InterSystems SQL中定义外键:

  • 可以定义两个类之间的关系。定义关系会自动将外键约束投影到SQL。
  • 可以在类定义中添加显式外键定义(对于关系未涵盖的情况)。
  • 可以使用CREATE TABLEALTER TABLE命令添加外键。可以使用ALTER TABLE命令删除外键。

用作外键引用的RowID字段必须是公共的。引用隐藏的RowID?有关如何使用公用(或专用)RowID字段定义表的信息。

一个表(类)的外键最大数目为400。

0 0
0 118
文章
· 四月 14, 2021 阅读大约需 8 分钟
第二章 定义和构建索引(二)

第二章 定义和构建索引(一)

定义索引

使用带有索引的Unique、PrimaryKey和IdKey关键字

与典型的SQL一样,InterSystems IRIS支持惟一键和主键的概念。
InterSystems IRIS还能够定义IdKey,它是类实例(表中的行)的唯一记录ID。
这些特性是通过UniquePrimaryKeyIdKey关键字实现的:
- Unique -在索引的属性列表中列出的属性上定义一个唯一的约束。
也就是说,只有这个属性(字段)的唯一数据值可以被索引。
唯一性是根据属性的排序来确定的。
例如,如果属性排序是精确的,则字母大小写不同的值是唯一的;
如果属性排序是SQLUPPER,则字母大小写不同的值不是唯一的。

但是,请注意,对于未定义的属性,不会检查索引的惟一性。
根据SQL标准,未定义的属性总是被视为唯一的。

0 0
0 115

大家好!

不久前,我将SQL Runtime 统计中的配置更改为“Turn on Stats code generation to gather stats at the Open and Close of a query 。进行此更改后, CACHE的基础( cache / mgr / cache / )增长了很多,达到198GB

昨天,我将SQL运行时统计信息的配置恢复为默认值“关闭统计信息代码生成” ,并且缓存基数不再增长。

我的问题是?

如何删除在CACHE基础(cache / mgr / cache /)中创建的此数据,以及可以删除哪些数据而不影响系统。

谢谢,
法比奥(FábioLouly)。

0 0
0 104
文章
· 五月 10, 2021 阅读大约需 5 分钟
第四章 多维存储的SQL和对象使用(二)

第四章 多维存储的SQL和对象使用(二)

索引

持久化类可以定义一个或多个索引;其他数据结构用于提高操作(如排序或条件搜索)的效率。InterSystems SQL在执行查询时使用这些索引。InterSystems IRIS对象和SQL在执行INSERTUPDATEDELETE操作时自动维护索引内的正确值。

标准索引的存储结构

标准索引将一个或多个属性值的有序集与包含属性的对象的对象ID值相关联。

例如,假设我们定义了一个简单的持久化MyApp.Person类,该类具有两个文本属性和一个关于其Name属性的索引:

0 0
0 48
文章
· 五月 25, 2021 阅读大约需 7 分钟
第六章 从POP3服务器提取电子邮件

第六章 从POP3服务器提取电子邮件

从POP3服务器提取电子邮件

与POP3服务器通信

如果拥有所需的权限,并且邮件服务器正在运行,则可以使用POP3协议从该服务器下载和处理电子邮件。通常,要与POP3服务器通信,请登录,执行一系列影响邮箱的操作,然后提交或回滚任何更改。要在系统间IRIS中执行此操作,请执行以下操作:

0 0
0 85
文章
· 九月 24, 2021 阅读大约需 4 分钟
第二十五章 SQL命令 CREATE VIEW(二)

第二十五章 SQL命令 CREATE VIEW(二)

通过视图更新

视图可用于更新视图所基于的表。可以通过视图插入新行,更新通过视图看到的行中的数据,以及删除通过视图看到的行。如果CREATE VIEW语句指定了此功能,则可以为视图发出INSERTUPDATEDELETE语句。要允许通过视图进行更新,请在定义视图时指定WITH CHECK选项(默认值)。

注意:如果视图基于分片表,则不能通过WITH CHECK OPTION视图进行INSERTUPDATEDELETE操作。
尝试这样做会导致一个SQLCODE -35,其中%msg INSERT/UPDATE/DELETE not allowed for view (sample.myview) based on sharded table with check option conditions

0 0
0 53
文章
· 十月 10, 2021 阅读大约需 3 分钟
第四十一章 SQL命令 DROP VIEW

第四十一章 SQL命令 DROP VIEW

删除视图

大纲

DROP VIEW view-name [CASCADE | RESTRICT]

参数

  • view-name 要删除的视图的名称。
    视图名可以是限定的(schema.viewname),也可以是非限定的(viewname)。
    非限定视图名接受默认模式名。
  • CASCADE RESTRICT - 可选-指定CASCADE关键字以删除引用view-name的任何其他视图。如果有另一个视图引用view-name,则指定RESTRITE将发出SQLCODE-321错误。默认值为限制。

描述

DROP VIEW命令删除视图,但不删除基础表或数据。

0 0
0 81
文章
· 十一月 10, 2021 阅读大约需 6 分钟
第七十二章 SQL命令 SELECT(四)

第七十二章 SQL命令 SELECT(四)

WHERE子句

WHERE子句限定或取消查询选择中的特定行。
符合条件的行是那些条件表达式为真的行。
条件表达式是逻辑测试(谓词)的列表,可以通过ANDOR逻辑操作符链接这些测试(谓词)。
这些谓词可以使用NOT一元逻辑操作符进行反转。

SQL谓词可分为以下几类:
- Comparison 谓词
- BETWEEN 谓词
- LIKE 谓词
- NULL 谓词
- IN and %INLIST 谓词
- EXISTS 谓词
- FOR SOME 谓词
- FOR SOME %ELEMENT 谓词

0 0
0 49
文章
· 十一月 25, 2021 阅读大约需 4 分钟
第八十七章 SQL命令 VALUES

第八十七章 SQL命令 VALUES

指定字段中使用的数据值的INSERT/UPDATE子句。

大纲

(field1{,fieldn})
     VALUES (value1{,valuen})

参数

  • field - 字段名或以逗号分隔的字段名列表。
  • value - 值或以逗号分隔的值列表。
    每个值被赋给相应的字段。

描述

VALUES子句用于INSERTUPDATEINSERT or UPDATE语句中,以指定要插入到字段中的数据值。
通常:

0 0
0 47