SQL命令 CREATE QUERY 创建Query 大纲 CREATE QUERY queryname(parameter_list) [characteristics] [ LANGUAGE...SQL ] BEGIN code_body ; END CREATE QUERY queryname(parameter_list) [characteristics] LANGUAGE...描述 CREATE QUERY语句在类中创建一个查询。 默认情况下,名为MySelect的查询将被存储为User.queryMySelect或SQLUser.queryMySelect。...CREATE QUERY创建的查询可能作为存储过程公开,也可能不作为存储过程公开。 要创建公开为存储过程的查询,必须指定procedure关键字作为其特征之一。...还可以使用CREATE PROCEDURE语句创建作为存储过程公开的查询。 为了创建查询,必须拥有%CREATE_QUERY管理权限,如GRANT命令所指定的。
大纲 CREATE USER user-name IDENTIFY BY password CREATE USER user-name IDENTIFIED BY password 参数 user-name...描述 CREATE USER命令使用指定的密码创建用户帐户。 用户名可以是最多160个字符的任何有效标识符。用户名必须遵循标识符命名约定。用户名可以包含Unicode字符。用户名不区分大小写。...要为用户分配权限或角色,请使用GRANT命令。要创建角色,请使用CREATE ROLE命令。...如果调用CREATE USER来创建已经存在的用户,SQL会发出SQLCODE-118错误,并显示%msg值“名为‘name’的用户已存在”。...权限 CREATE USER命令是特权操作。在嵌入式SQL中使用CREATE USER之前,必须以具有适当权限的用户身份登录。否则将导致SQLCODE-99错误(特权冲突)。
SQL命令 CREATE ROLE 创建角色 大纲 CREATE ROLE role-name 参数 role-name - 要创建的角色的名称,它是一个标识符。角色名称不区分大小写。...描述 CREATE ROLE命令可创建角色。角色是可以分配给多个用户的一组命名权限。一个角色可以分配给多个用户,一个用户可以分配多个角色。角色在系统范围内可用,它不限于特定的命名空间。...要向角色添加权限,请使用GRANT命令。还可以使用GRANT命令为角色分配一个或多个角色。这允许创建角色层次结构。...要删除角色,请使用DROP ROLE命令。 权限 CREATE ROLE命令是特权操作。在嵌入式SQL中使用CREATE ROLE之前,需要以具有%Admin_Secure:USE权限的用户身份登录。...第二个示例中的用户“_system”确实拥有CREATE ROLE权限。
SQL过程调用现有的例程; 不能在CREATE PROCEDURE语句中用这些语言编写代码。 这些语言中的存储过程库存储在IRIS外部,因此不必在IRIS内打包、导入或编译。...下面是一个CREATE过程调用现有JAVA外部存储过程的示例: CREATE PROCEDURE updatePrice (item_name VARCHAR, new_price INTEGER) LANGUAGE...如果指定了,标签或#Include预处理器命令必须以冒号作为前缀,并出现在第一列,如下所示: CREATE PROCEDURE SP123() LANGUAGE OBJECTSCRIPT { :Top...它使用CREATE PROCEDURE在Sample.Employee类中生成方法UpdateSalary: CREATE PROCEDURE UpdateSalary ( IN SSN VARCHAR...下面的示例将CREATE PROCEDURE与调用嵌入式SQL的ObjectScript代码一起使用。
SQL命令 CREATE TABLE(三) 字段数据约束 数据约束控制字段允许使用的值、字段的默认值以及数据值使用的排序规则类型。所有这些数据约束都是可选的。...DEFAULT函数在准备/编译CREATE TABLE语句时(而不是在执行语句时)使用有效的时间精度设置。...CREATE TABLE mytest ( TestId INT NOT NULL, CREATE_DATE DATE DEFAULT CURRENT_TIMESTAMP(2),...注意:要将命名空间默认排序规则从%SQLUPPER(不区分大小写)更改为另一种排序规则类型,如%SQLSTRING(区分大小写),请使用以下命令: WRITE $$SetEnvironment^%apiOBJ...("collation","%Library.String","SQLSTRING") 发出此命令后,必须清除索引,重新编译所有类,然后重建索引。
描述 CREATE TRIGGER命令定义触发器,即修改特定表中的数据时要执行的代码块。当特定的触发事件发生时(例如将新行插入到指定表中),就会执行(“触发”或“拉出”)触发器。...权限和锁 CREATE TRIGGER命令是特权操作。用户必须具有%CREATE_TRIGGER管理权限才能执行CREATE TRIGGER。...on table: 'Schema.TableName' 如果拥有适当的授予权限,则可以使用GRANT命令分配%CREATE_TRIGGER和%ALTER权限。...CREATE TRIGGER不能用于从部署的持久类投射的表。...所有这些CREATE TRIGGER语句都创建由同一个事件执行的触发器: CREATE TRIGGER TrigA BEFORE DELETE ON doctable INSERT INTO
如果语言是SQL, CREATE TRIGGER语句可以选择包含引用子句、WHEN子句和/或UPDATE OF子句。...带有LANGUAGE OBJECTSCRIPT的CREATE TRIGGER语句不能包含这些子句。 SQL触发器代码作为嵌入式SQL执行。...ObjectScript触发代码 如果LANGUAGE OBJECTSCRIPT,则CREATE TRIGGER语句不能包含引用子句、WHEN子句或UPDATE OF子句。...如果触发器代码包含宏预处理器语句(#命令、##函数或$$$宏引用),这些语句将在CREATE trigger DDL代码本身之前编译。 ObjectScript触发器代码可以包含嵌入式SQL。...第二个嵌入式SQL程序针对该表发出INSERT命令,该命令调用触发器,该触发器在日志表中记录一个条目。
SQL命令 CREATE INDEX(一) 为表创建索引。...可以使用CREATE INDEX命令或通过将索引定义添加到类定义来创建索引,可以使用DROP INDEX命令删除索引。...可以使用CREATE INDEX向分片表添加索引。 权限与锁 CREATE INDEX命令属于特权操作。 用户必须具有%ALTER_TABLE管理权限才能执行CREATE INDEX。...可以通过调用%CHECKPRIV命令来确定当前用户是否具有%ALTER权限。 可以使用GRANT命令为指定的表分配%ALTER权限。...此选项允许删除/重新创建UNIQUE约束索引(不能使用DROP index命令完成)。 要删除/重新创建主键索引,请参考ALTER TABLE命令。
示例 下面的示例使用带有SQL代码的Create方法在Sample.Employee类中生成UpdateSalary方法: CREATE METHOD UpdateSalary ( IN SSN VARCHAR...CREATE METHOD RandomLetter() RETURNS INTEGER PROCEDURE LANGUAGE OBJECTSCRIPT { :Top SET x=$RANDOM(91...Sample.Person WHERE Name %STARTSWITH RandomLetter() DROP METHOD RandomLetter 下面的嵌入式SQL示例使用带有ObjectScript代码的Create...方法在SQLUser.MyStudents类中生成方法TraineeTitle,并返回一个Title值: ClassMethod CreateMethod() { &sql( CREATE
SQL命令 CREATE TABLE(二) 全局临时表 指定GLOBAL TEMPORARY关键字将表定义为全局临时表。表定义是全局的(对所有进程都可用);表数据是临时的(在进程期间持续存在)。...CreateTable3() { d $SYSTEM.Security.Login("_SYSTEM","SYS") n SQLCODE,%msg &sql( CREATE...仅支持兼容性选项 SQL仅接受以下CREATE TABLE选项用于解析,以帮助将现有SQL代码转换为 SQL。 这些选项不提供任何实际的功能。...不能使用CREATE TABLE创建嵌入式串行对象。 注:我们建议避免创建列超过400列的表。...通常, SQL(如CREATE TABLE命令)指定数据类型。
如果CREATE VIEW语句指定了此功能,则可以为视图发出INSERT、UPDATE和DELETE语句。要允许通过视图进行更新,请在定义视图时指定WITH CHECK选项(默认值)。...要通过视图进行更新,必须具有要更新表或视图的适当权限,如GRANT命令所指定。 通过视图更新受以下限制: 该视图不能是投影为视图的类查询。 视图的类不能包含类参数READONLY=1。...示例 下面的示例从PhoneBook表中创建了名为“CityPhoneBook”的视图: CREATE VIEW CityPhoneBook AS SELECT Name FROM PhoneBook...它列出了所有的Title以及这个人是否已经退休: CREATE VIEW GuideHistory AS SELECT Guides, Title, Retired, Date_Retired...CREATE VIEW StaffWorksDesign (Name,Cost,Project) AS SELECT EmpName,Hours*2*Grade,PName FROM
SQL命令 CREATE INDEX(二) UNIQUE关键字 使用UNIQUE关键字,可以指定索引中的每条记录都有一个唯一的值。...CREATE INDEX不能指定非默认索引字符串排序规则。 通过在类定义中定义索引,可以为各个索引指定不同的字符串排序规则。 可以更改名称空间的默认排序规则,使字段/属性在默认情况下区分大小写。...可以按如下方式构建/重新构建索引: 使用构建索引SQL命令。 使用管理门户重建指定类(表)的所有索引。 使用%BuildIndices()方法。...%BuildIndices() 默认情况下,此命令在重建索引之前清除索引。可以覆盖此清除默认值,并使用%PurgeIndices()方法显式清除指定的索引。...BITMAP关键字表示这是位图索引: CREATE BITMAP INDEX SKUIndex ON TABLE Purchases (SKU)
此引用的最简单形式如下例所示,其中外键显式引用Customers表中的主键字段CustID: CREATE TABLE Orders ( OrderID INT UNIQUE NOT NULL,...如果通过动态SQL或xDBC执行CREATE TABLE,则需要REFERENCES权限。 指称动作子句 如果一个表包含外键,对一个表的更改会对另一个表产生影响。...下面是一个嵌入式SQL示例,它发出一条使用两个引用动作子句的CREATE TABLE语句。请注意,本例假设已存在名为PhysNum(主键字段为PhysNum)的关联表。...ClassMethod CreateTable6() { d $SYSTEM.Security.Login("_SYSTEM","SYS") &sql( CREATE TABLE...必须使用CREATE TABLE或持久类定义将表定义为分割表。不能使用ALTER TABLE向现有表添加分片键。 如果表有定义的IDKEY,则必须将字段定义为分片键字段。
SQL命令 CREATE METHOD(一) 在类中创建方法。...描述 CREATE METHOD语句创建一个类方法。 这个类方法可能是存储过程,也可能不是。 要在公开为SQL存储过程的类中创建方法,必须指定procedure关键字。...默认情况下,CREATE METHOD不会创建一个同时也是存储程序的方法; CREATE PROCEDURE语句总是创建一个同时也是存储过程的方法。...为了创建方法,必须具有GRANT命令指定的%CREATE_METHOD管理权限。 如果试图为具有已定义所有者的现有类创建方法,则必须作为该类的所有者登录。...第一个示例使用CREATE METHOD,第二个示例在类User中定义类方法。
SQL命令 CREATE TABLE(六) WITH子句,%CLASSPARAMETER关键字,STORAGETYPE关键字 可选的WITH子句可以在表格元素逗号结尾的圆括号之后和Shard Key定义...下面的示例定义了两个类参数; 第一个%CLASSPARAMETER子句使用了等号,第二个省略了等号: CREATE TABLE OurEmployees ( EMPNUM INT NOT...CLASSPARAMETER DEFAULTGLOBAL = '^GL.EMPLOYEE', %CLASSPARAMETER MANAGEDEXTENT 0 DEFAULTGLOBAL:默认情况下,CREATE...定义分片表的CREATE TABLE不能定义DEFAULTGLOBAL、DSINTERVAL、DSTIME或VERSIONPROPERTY类参数。...,"CREATE TABLE failed, SQLCODE=",SQLCODE } } 以下示例删除由前面的示例创建的表: ClassMethod CreateTable9() {
描述 CREATE VIEW命令定义视图的内容。定义视图的SELECT语句可以引用多个表,也可以引用其他视图。 权限 CREATE VIEW命令是特权操作。...如果拥有适当的授予权限,则可以使用GRANT命令分配%CREATE_VIEW权限。...如果对指定表(或视图)没有SELECT权限,则不会执行CREATE VIEW命令。 但是,在编译投影已定义视图的类时,不会对从视图引用的基础表(或视图)中选择的列强制执行这些SELECT特权。...可以通过调用%CHECKPRIV命令来确定当前用户是否拥有这些表级权限。可以通过调用$SYSTEM.SQL.Security.CheckPrivileve()方法来确定指定用户是否拥有这些表级权限。...%CREATE_VIEW权限是通过GRANT命令分配的,这需要将此权限分配给用户或角色。 默认情况下,强制执行CREATE VIEW安全特权。
建议指定约束名称; 当使用ALTER TABLE命令从表定义中删除约束时,需要此约束名。 约束名称可以是任何有效的标识符; 如果指定为分隔符,则约束名可以包含"....位图扩展索引 使用CREATE TABLE创建表时,缺省情况下, IRIS会自动定义相应类的位图范围索引。...如果在创建位图索引后,对自动定义位图范围索引的表调用CREATE BITMAPEXTENT INDEX,则先前定义的位图范围索引将重命名为CREATE BITMAPEXTENT INDEX语句指定的名称...定义主键有三种语法形式: CREATE TABLE MyTable (Field1 INT PRIMARY KEY, Field2 INT) CREATE TABLE MyTable (Field1...例如,下面的CREATE TABLE语句: CREATE TABLE MyTable (f1 VARCHAR(16), CONSTRAINT MyTablePK PRIMARY KEY (f1)) 创建主键
描述 CREATE TABLE命令创建指定结构的表定义。 IRIS自动创建与此表定义对应的持久化类,其属性与字段定义对应。CREATE TABLE将相应的类定义为DdlAllowed。...注:CREATE TABLE通过指定字段定义和其他元素创建表。使用CREATE TABLE AS SELECT命令通过从现有表复制字段定义和数据来定义表。...语法概述 CREATE TABLE命令具有以下总体语法: 表名,限定名(schema.tablename)或非限定名(Tablename)。 一对圆括号,用逗号分隔的表格元素列表括起来。...SQL安全和权限 CREATE TABLE命令是特权操作。用户必须具有%CREATE_TABLE管理权限才能执行CREATE TABLE。...如果拥有适当的授予权限,则可以使用GRANT命令将%CREATE_TABLE权限分配给用户或角色。管理权限是特定于命名空间的。 默认情况下,将强制执行CREATE TABLE安全权限。
SQL命令 CREATE PROCEDURE(一) 创建作为SQL存储过程公开的方法或查询。...如果代码不包含SELECT语句,则CREATE PROCEDURE创建一个方法。...如果代码没有调用Execute()和Fetch(),则CREATE PROCEDURE创建一个方法。 默认情况下,CREATE PROCEDURE创建公开为存储过程的方法。...要创建未公开为存储过程的方法,请使用 CREATE METHOD或CREATE FUNCTION语句。 若要创建未公开为存储过程的查询,请使用CREATE QUERY语句。...为了创建一个过程,必须具有GRANT命令指定的%CREATE_PROCEDURE管理权限。 如果为具有已定义所有者的现有类创建过程,则必须作为该类的所有者登录。
Linux用户管理 1) 查看当前用户 whoami ##查看当前用户 2) 系统中用户的查看 id ##查看指定用户id信息 id -u ##查看用户的uid -g...- 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要 注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户 用户在系统中的存储方式 how to create...##删除用户并且删除用户的配置文件 2) how to create user with usereadd in Linux watch -n 1 'tail -n 3 /etc/passwd...visudo 规范操作 文件100行左右 普通用户 主机名称=(转换成新用户身份) 命令1, 命令2, 。...##执行命令要密码 westos 主机名称=(root) NOPASSWD: /usr/sbin/usradd ##免密执行命令 —————————————
领取专属 10元无门槛券
手把手带您无忧上云