6.10.?数据库对象创建

6.10.1. 事件触发器创建
6.10.2. 外部数据包装创建
6.10.3. 强制转换创建
6.10.4. 扩展创建
6.10.5. 模式创建
6.10.6. 全文检索分析器
6.10.7. 全文检索模板
6.10.8. 全文检索词典
6.10.9. 全文检索配置
6.10.10. 函数
6.10.11. 域
6.10.12. 外部表
6.10.13. 存储过程
6.10.14. 序列
6.10.15. 排序规则
6.10.16. 物化视图
6.10.17. 类型
6.10.18. 视图
6.10.19. 触发器函数
6.10.20. 目录
6.10.21. 语言创建

6.10.1.?事件触发器创建

功能介绍:

事件触发器是指数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码,触发器机制可以实现对数据修改事件的捕获,并在之后触发用户自定义的操作行为。事件触发器的触发时机是可以设置的,可以是语句级触发或者记录级触发,也可以是修改前触发或者修改后触发。

具体操作:

  1. 右键“事件触发器”=>“创建”=>单击“事件触发器”。

  2. 输入触发器名称,并选择触发器函数。

  3. 其他参数保留默认值或根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:使用常规项选项卡中的字段来标识事件触发器。

    表?6.11.?事件触发器创建常规项功能项描述

    项目描述
    名称使用名称字段为事件触发器添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框指定事件触发器的所有者。
    注释在注释中存储关于事件触发器的注释。

  2. 定义:使用定义选项卡中的字段定义事件触发器。

    表?6.12.?事件触发器创建定义功能项描述

    项目描述
    启用状态在启用状态中选择一个单选按钮,以指定触发器的状态:启用、禁用、始终和复制。
    触发器函数使用触发器函数旁边的下拉列表框来指定现有函数。触发器函数接受一个空的参数列表,并返回一个event_trigger类型的值。
    事件在事件中选择一个单选按钮,以指定事件触发器何时触发:DDL命令开始、DDL命令结束或SQL DROP。
    触发条件使用触发条件为事件触发器编写一个条件,该条件必须在事件触发器执行之前得到满足,值必须用单引号引起来,并用逗号分隔。

  3. 安全:使用安全选项卡定义应用于触发器的安全标签。单击图标(+)添加每个安全标签。

    表?6.13.?事件触发器创建安全功能项描述

    项目描述
    提供者在提供者中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签中指定安全标签。给定标签的含义由标签提供方自行决定。UXsinoDB对标签提供者是否或如何解释安全标签没有任何限制;它只是提供了一种存储它们的机制。

6.10.2.?外部数据包装创建

功能介绍:

外部数据包装是FDW,是Foreign Data Wrapper的一个简称,它们是一些虚拟表,通过它们可以直接在本地数据库中访问来自外部数据源的数据。使用外部数据包装器对话框创建或修改外部数据包装器。外部数据包装器是UXDB数据库和存储在另一个数据源上的数据之间的适配器。

注意

要创建外部数据包装器,您必须是超级用户。

具体操作:

  1. 右键“外部数据包装”=>“创建”=>单击“外部数据包装”。

  2. 输入名称,其他参数保留默认值或根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:使用常规项选项卡中的字段来标识外部数据包装器。

    表?6.14.?外部数据包装创建常规项功能项描述

    项目描述
    名称使用名称为外部数据包装器添加描述性名称。外部数据包装器名称在数据库中必须是唯一的。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有外部数据包装器的角色的名称。
    注释在注释中存储关于外部数据包装器的注释。

  2. 定义:使用定义选项卡设置参数。

    表?6.15.?外部数据包装创建定义功能项描述

    项目描述
    处理程序选择处理程序函数的名称。将被调用来检索外表执行函数。
    验证器选择验证器函数的名称。将被调用来检查给定外部数据包装器的通用选项及 使用外部数据包装器的外部服务器、用户映射和外部表的选项。

  3. 选项:使用选项为外部数据包装指定选项。

    表?6.16.?外部数据包装创建选项功能项描述

    项目描述
    选项单击图标(+)按钮,为外部数据包装器添加一个选项/值对。受支持的选项/值对将特定于所选的外部数据包装。
    在选项中指定选项名称,并在值中提供相应的值。

  4. 安全:使用安全选项卡分配安全特权。单击图标(+)来分配一组特权。

    表?6.17.?外部数据包装创建安全功能项描述

    项目描述
    被授权者从被授权者中的下拉列表框中选择角色的名称。
    权限单击权限中选中一个或多个特权左侧的复选框,将选择的特权授予指定的用户。
    授权者从版权者的下拉列表框中选择授予特权的角色的名称。默认授予人是外部数据包装器的所有者。

6.10.3.?强制转换创建

功能介绍:

强制转换是将一个值从一个数据类型转换为另一个数据类型。如果源类型到目标类型之间是二进制转换,不需要指定转换函数,如果是非二进制转换,则需要指定转换函数。

具体操作:

  1. 右键“数据类型转换”=>“创建”=>“转换中”=>“数据类型转换”。

  2. 选择源类型、目标类型,并根据源类型到目标类型是否为二进制转换确定是否需要指定转换函数。

  3. 其他参数保留默认值或根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:使用常规项选项卡中来标识强制转换。

    表?6.18.?强制转换创建常规项功能项描述

    项目描述
    名称名称被禁用。将在UXDBAdmin树控件中显示的名称是源类型与目标类型的连接,在数据类型转化对话框定义选项卡上进行选择时自动生成
    注释在注释中存储关于转换的注释。

  2. 定义:使用定义选项卡定义参数。

    表?6.19.?强制转换创建定义功能项描述

    项目描述
    源类型使用源类型旁边的下拉列表框来选择强制转换的源数据类型的名称。
    目标类型使用目标类型旁边的下拉列表框来选择强制转换的目标数据类型的名称。
    函数使用函数旁边的下拉列表框来选择用于执行强制转换的函数。函数的结果数据类型必须与强制类型转换的目标类型匹配。
    上下文如果强制转换是隐式的,则将上下文切换到隐式位置。默认情况下,强制转换只能由显式强制转换请求调用。如果强制转换是隐式的,那么可以在任何上下文中隐式地调用它,无论是通过赋值还是在表达式内部调用。

6.10.4.?扩展创建

功能介绍:

扩展是一个SQL对象集合,为数据库安装添加目标功能。在将扩展加载到数据库之前,应该确认已安装必要的文件。新建数据库时对象树中默认会有一个pluxsql,这是一种语言。扩展对话框只向当前数据库添加扩展的功能;必须在使用该扩展的每个数据库中注册该扩展。

具体操作:

  1. 右键“扩展”=>“创建”=>单击“扩展”。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:使用常规项选项卡中的来标识扩展名。

    表?6.20.?扩展创建常规项功能项描述

    项目描述
    名称使用名称中的下拉列表框选择扩展名。每个扩展必须有唯一的名称。
    注释在注释中存储关于扩展的注释。

  2. 定义:使用定义选项卡选择模式和版本。

    表?6.21.?扩展创建定义功能项描述

    项目描述
    模式使用模式旁边的下拉列表框选择要安装扩展的对象的模式的名称。
    版本使用版本旁边的下拉列表框选择要安装的扩展的版本。

6.10.5.?模式创建

功能介绍:

ANSI SQL标准中对模式有着明确的定义,数据库的下一层逻辑结构就是模式。如果把数据库比作一个国家,那么模式就是一些独立的州。大多数对象是隶属于某个模式的,然后模式又隶属于某个数据库。在创建一个新的数据库时,系统会自动为其创建一个名为public的模式。如果未设置search_path变量,那么系统会将你创建的所有对象默认放入public模式中。如果表的数量较少,这是没问题的,但如果有几千张表,最好把这些表分门别类放入不同的模式中。

UXDBAdmin默认包含一个数据库模式:public。可以根据用户的具体情况定义多个模式,每个模式中的数据库对象的名字不可以重复,主要针对不同的业务表,使不同业务表放到不同的模式中,这样做的目的是方便管理,权限也可以按模式的不同进行授权。

具体操作:

  1. 右键“模式”=>“创建”=>单击“模式”。

  2. 输入名称,其他参数保留默认值或根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:使用常规项上的字段来标识模式。

    表?6.22.?模式创建常规项功能项描述

    项目描述
    名称使用名称为模式添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者从所有者中的下拉列表框中选择模式的所有者。
    注释在注释中存储关于模式的注释。

  2. 安全:使用安全选项卡为模式分配特权和安全标签。单击图标(+)进行分配特权。

    表?6.23.?模式创建安全功能项描述

    项目描述
    被授权者从被授权者中的下拉列表框中选择角色的名称。
    权限单击权限,选中一个或多个特权左侧的复选框,将选择的特权授予指定的用户。
    授权者从授权者的下拉列表框中选择授予特权的角色的名称。默认的授予人是模式的所有者。
    提供者在提供者中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签中指定一个安全标签。给定标签的含义由标签提供方自行决定。UXsinoDB对标签提供者是否或如何解释安全标签没有限制;它只是提供了一种存储它们的机制。

  3. 默认权限:使用默认权限选项卡授予表、序列、函数和类型的权限。使用默认权限选项卡内嵌套的选项卡指定数据库对象,单击图标(+)分配一组权限。

    表?6.24.?模式创建默认权限功能项描述

    项目描述
    被授权者从被授权者中的下拉列表框中选择将被授予模式中的特权的角色的名称。
    权限单击权限,选中一个或多个特权左侧的复选框,将选择的特权授予指定的用户。
    授权者从授权者的下拉列表框中选择授予特权的角色的名称。默认的授予人是模式的所有者。

模式对象包含全文检索分析器、全文检索模板、全文检索词典、全文检索配置、函数、域、外部表、序列、排序规则、物化视图、类型、视图、触发器函数。

6.10.6.?全文检索分析器

功能介绍:

将文本字符串分割为一些符号并给这些符号分配类型的方法。

具体操作:

选择数据库=>选择“模式”=>右键“全文检索分析器”=>创建。

选项卡介绍:

  1. 常规项:

    表?6.25.?全文检索分析器常规项功能项描述

    项目描述
    名称使用名称字段为分析器添加描述性名称。名称将显示在UXDBAdmin树控件中。
    模式从模式字段中的下拉列表框中选择分析器所在模式的名称。
    注释在注释中存储关于分析器的注释。

  2. 定义:

    表?6.26.?全文检索分析器定义功能项描述

    项目描述
    启动函数使用启动函数旁边的下拉列表框来选择要初始化分析器的函数的名称。
    获取下一个令牌函数使用获取下一个令牌函数旁边的下拉列表框获取下一个令牌函数,以选择将返回下一个令牌的函数的名称。
    结束函数使用结束函数旁边的下拉列表框来选择分析器完成时调用的函数的名称。
    Lextypes函数使用Lextypes函数旁边的下拉列表框为分析器选择Lextypes函数的名称。lextypes函数返回一个数组,该数组包含分析器使用的标记的id、别名和描述。
    标题函数使用标题函数旁边的下拉列表框为分析器选择标题函数的名称。标题函数返回文档的摘录,其中突出显示查询的术语。

6.10.7.?全文检索模板

功能介绍:

使用全文检索模板创建一个新的文本搜索模板。可以定义实现全文检索词典的函数。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“全文检索模板”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.27.?全文检索模板常规项功能项描述

    项目描述
    名称使用名称字段为模板添加描述性名称。名称将显示在UXDBAdmin树控件中。
    模式从模式字段中的下拉列表框中选择模板将驻留的模式的名称。
    注释在注释中存储关于模板的注释。

  2. 定义:

    表?6.28.?全文检索模板定义功能项描述

    项目描述
    初始化函数使用初始化函数旁边的下拉列表框为模板选择初始化函数的名称。初始化函数是可选的。
    Lexize函数使用Lexize函数旁边的下拉列表框为模板选择Lexize函数的名称。需要lexize函数。

6.10.8.?全文检索词典

功能介绍:

全文检索词典可以使用预定义的模板或创建带有自定义参数的词典。

具体操作:

可参考全文检索模板创建的操作步骤。

选项卡介绍:

  1. 常规项:

    表?6.29.?全文检索词典常规项功能项描述

    项目描述
    名称使用名称字段为字典添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有全文检索词典的角色。
    模式从模式字段中的下拉列表框中选择字典将驻留的模式的名称。
    注释在注释中存储关于字典的注释。

  2. 定义:

    表?6.30.?全文检索词典定义功能项描述

    项目描述
    模板Ispell词典模板支持形态学词典,它可以将一个单词的许多不同语言形式规范化为同一词汇位。Snowball字典模板是基于马丁·波特的一个项目,他是流行的波特英语词干分析算法的发明者。Snowball现在为许多语言提供词干分析算法(有关更多信息,请参阅Snowball站点)。Simple字典模板的操作方法是将输入标记转换为小写形式,然后根据一个包含停止字的文件进行检查。Synonym字典模板用于创建用同义词替换单词的字典。Thesaurus词典用一个首选词代替所有非首选词,而且可选地,为索引也保留原始词。

  3. 选项:

    表?6.31.?全文检索词典选项功能项描述

    项目描述
    选项在选项字段中指定选项的名称。
    为值字段中的选项提供一个值。

6.10.9.?全文检索配置

功能介绍:

全文检索配置指定一个全文检索分析器,该分析器可以将字符串划分为符号,以及可以识别可搜索符号的词典。

具体操作:

可参考全文检索模板创建的操作步骤。

选项卡介绍:

  1. 常规项:

    表?6.32.?全文检索配置常规项功能项描述

    项目描述
    名称使用名称为全文检索配置添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉表框指定将拥有配置的角色。
    模式从模式字段中的下拉列表框中选择要驻留全文检索配置的模式的名称。
    注释将有关全文检索配置的说明存储在注释中。

  2. 定义:

    表?6.33.?全文检索配置定义功能项描述

    项目描述
    分析器从分析器字段中的下拉列表框中选择文本搜索分析器的名称。
    复制配置从复制配置字段中的下拉列表框中选择一种语言。

  3. 标记:

    表?6.34.?全文检索配置标记功能项描述

    项目描述
    标记使标记字段指定令牌的名称。
    全文检索词典使用全文检索词典字段指定字典。

6.10.10.?函数

功能介绍:

UXDBAdmin中函数执行后的返回结果可以是一个标量值或几个记录集。可以在函数中对表数据进行修改,其他数据库对于这种会修改表数据的函数一般称为存储过程。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“函数”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.35.?函数常规项功能项描述

    项目描述
    名称使用名称字段为函数添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有该函数的角色的名称。
    模式使用模式旁边的下拉列表框来选择要在其中创建函数的模式。
    注释在注释字段中存储关于函数的注释。

  2. 定义:

    表?6.36.?函数定义功能项描述

    项目描述
    返回类型使用返回类型旁边的下拉列表框来选择函数返回的数据类型(如果有的话)。
    语言用语言旁边的下拉列表框选择实现语言。默认是pluxsql。

  3. 代码:

    使用代码字段来编写在调用函数时执行的代码。

  4. 选项:

    表?6.37.?函数选项功能项描述

    项目描述
    波动性使用波动性旁边的下拉列表框选择下列选项之一。VOLATILE是默认值。VOLATILE表示函数值即使在单次表扫描中也可以更改,因此不能进行优化。STABLE表示该函数不能修改数据库,并且在一次表扫描中,它将一致地为相同的参数值返回相同的结果。IMMUTABLE表示函数不能修改数据库,并且在给定相同的参数值时总是返回相同的结果。
    返回集合将返回集合么?切换以指示函数是否返回包含多行的集合。默认是取消。
    严格将严格吗?切换以指示当函数的任何参数为空时,函数是否总是返回空值。如果是,当有空参数时,函数不执行;相反,将自动假定结果为空。默认是取消。
    定义安全移动定义安全吗?切换到指定将使用创建该函数的用户的特权执行该函数。默认是取消。
    窗口函数移动窗口函数?切换以指示该函数是窗口函数而不是普通函数。默认是取消。
    对比PARALLEL UNSAFE表示该函数不能在并行模式下执行,并且SQL语句中存在该函数会强制执行串行执行计划。这是默认值。PARALLEL RESTRICTED表示该功能可以在并行模式下执行,但是执行仅限于并行组首。PARALLEL SAFE表示该功能可以不受限制地并行运行。
    估计成本使用估计成本字段指定一个正数,该正数表示函数的估计执行成本,以cpu_operator_cost为单位。如果函数返回一个集合,这是每个返回行的成本。
    估计行使用“估计行”字段指定一个正数,给出查询计划器应该期望函数返回的估计行数。只有在函数声明返回一个集合时才允许这样做。默认的假设是1000行。
    防泄漏移动防泄漏吗?切换以指示该函数是否有副作用。默认是取消。此选项只能由超级用户设置。
    support function以指定用于该函数的计划器支持函数。

  5. 参数:

    表?6.38.?函数参数功能项描述

    项目描述
    名称使用变量面板中的名称列中的下拉列表框来选择参数。
    使用值字段指定将与所选变量相关联的值。这个字段是上下文敏感的。

  6. 安全:

    表?6.39.?函数安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择角色的名称。
    权限单击权限字段内。选中一个或多个特权左侧的复选框,将选择的特权授予指定的用户。
    授权者从授权者字段的下拉列表框中选择角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。UXsinoDB对标签提供者是否或如何解释安全标签没有限制;它只是提供了一种存储它们的机制。

6.10.11.?域

功能介绍:

域是可以约束值的数据类型定义。当创建包含类似列的多个表时,可以创建一个域来约束列的值,并在创建列时重用域,而不用单独约束每一列。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“域”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.40.?域常规项功能项描述

    项目描述
    名称使用名称字段为域添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有域的角色。
    模式从模式字段中的下拉列表框中选择要驻留域的模式的名称。
    注释在注释字段中存储关于域的注释。

  2. 定义:

    表?6.41.?域定义功能项描述

    项目描述
    基本类型使用基类型旁边的下拉列表框指定数据类型。
    长度使用长度字段为数值类型指定数值长度。
    精度使用上精度字段指定数字类型的有效数字总数。
    默认值在默认值字段中为域数据类型指定默认值。默认表达式的数据类型必须与域的数据类型匹配。如果没有指定默认值,则默认值为空值。
    非空?移动非空?开关以指定此域的值将被阻止为空。
    排序规则使用排序规则旁边的下拉列表框应用排序规则强制转换。如果没有指定排序规则,则使用基础数据类型的默认排序规则。如果指定了排序,则基础类型必须是collatable。

  3. 约束:

    表?6.42.?域约束功能项描述

    项目描述
    名称使用名称字段为约束指定名称。
    检查约束使用检查约束字段提供约束的表达式。
    验证?使用验证?复选框确定是否将验证约束。选中默认复选框并设置验证需求。

  4. 安全:

    表?6.43.?域安全功能项描述

    项目描述
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。UXsinoDB对标签提供者是否或如何解释安全标签没有任何限制;它只是提供了一种存储它们的机制。

6.10.12.?外部表

功能介绍:

外部表可以创建外部服务器的数据源的结构。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“外部表”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.44.?外部表常规项功能项描述

    项目描述
    名称使用名称字段为外表添加描述性名称。外表的名称必须与同一架构中的任何其他外表、表、序列、索引、视图、现有数据类型或物化视图的名称不同。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有外表的角色的名称。
    模式从模式字段中的下拉列表框中选择要驻留外表的模式的名称。
    注释在注释字段中存储关于外部表的注释。

  2. 定义:

    表?6.45.?外部表定义功能项描述

    项目描述
    外部服务器使用外服务器旁边的下拉列表框来选择外服务器。此列表由通过外部服务器对话框定义的服务器填充。
    继承使用继承旁边的下拉列表框指定父表。外表将继承它的所有列。这个字段是可选的。

  3. 列:

    表?6.46.?外部表列功能项描述

    项目描述
    名称使用名称字段为列添加描述性名称。
    数据类型使用数据类型字段中的下拉列表框为列选择数据类型。这可以包括数组说明符。

  4. 约束:

    表?6.47.?外部表约束功能项描述

    项目描述
    名称使用名称字段为约束添加描述性名称。如果违反了约束,则约束名出现在错误消息中,因此像col这样的约束名必须是正数,可以用来传递有用的信息。
    检查约束使用检查约束字段来编写产生布尔结果的建成的检查表达式。外表中的每一行都要满足检查表达式。
    无继承选中无继承复选框以指定约束不会传播到子表。
    验证?取消选中验证复选框以禁用验证。数据库不会假定约束适用于表中的所有行。

  5. 选项:

    表?6.48.?外部表选项功能项描述

    项目描述
    选项在选项字段中指定选项名。不允许重复选项名。
    在值字段中提供相应的值。

  6. 安全:

    表?6.49.?外部表安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择将为其分配特权的角色的名称。
    权限单击权限字段内。选中一个或多个权限左侧的复选框,将选择的权限授予指定的用户。
    授权者从授权者字段的下拉列表框中选择拥有外表的角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。

6.10.13.?存储过程

功能介绍:

存储过程是由一些sql语句和控制语句组成的被封装起来的过程,它驻留在数据库中,可以被客户应用程序调用,也可以从另一个过程或触发器调用。它的参数可以被传递和返回。与应用程序中的函数过程类似,存储过程可以通过名字来调用,而且它们同样有输入参数和输出参数。

根据返回值类型的不同,可以将存储过程分为三类:返回记录集的存储过程,返回数值的存储过程(也可以称为标量存储过程),以及行为存储过程。顾名思义,返回记录集的存储过程的执行结果是一个记录集,典型的例子是从数据库中检索出符合某一个或几个条件的记录;返回数值的存储过程执行完以后返回一个值,例如在数据库中执行一个有返回值的函数或命令;最后,行为存储过程仅仅是用来实现数据库的某个功能,而没有返回值,例如在数据库中的更新和删除操作。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“存储过程”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.50.?存储过程常规项功能项描述

    项目描述
    名称使用名称字段为序列添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择一个角色。
    模式使用模式旁边的下拉列表框中选择该过程将驻留在其中的模式的名称。
    注释在注释字段中存储关于存储过程的注释。

  2. 定义:

    表?6.51.?存储过程定义功能项描述

    项目描述
    语言选择一种语言。
    参数单击添加以设置参数和参数值。
    数据类型使用数据类型旁边的下拉列表框选择一种数据类型。
    模式使用模式旁边的下拉列表框选择一种模式。选择IN作为输入参数;选择OUT作为输出参数;为输入和输出参数选择INOUT;或者,选择VARIADIC以指定VARIADIC参数。
    参数名称在参数名称字段中为参数输入名称。
    默认值在默认值字段中为参数指定默认值。

  3. 代码:

    使用代码选项卡可以指定在调用过程时将执行的代码。

  4. 选项:

    使用选项卡来描述或修改过程的行为。

    表?6.52.?存储过程选项功能项描述

    项目描述
    波动性
    • 使用波动性的下拉列表框选择以下选项之一。 VOLATILE是默认值。

      VOLATILE表示该值即使在一次表扫描中也可以更改,因此无法进行优化。

      STABLE表示该过程无法修改数据库,并且在单个表扫描中它将针对相同的参数值一致地返回相同的结果,但是其结果可能会在SQL语句之间发生变化。

      IMMUTABLE指示该过程无法修改数据库,并且在给定相同的参数值时始终返回相同的结果。

    严格切换以指示该过程是否在其任何参数均为NULL时始终返回NULL。如果是,则在有NULL参数时不执行该过程;否则,过程不执行。而是自动假定为NULL结果。默认值是无。
    定义安全切换以指定要使用创建该过程的用户的特权来执行该过程。默认值是无。
    对比PARALLEL UNSAFE表示该函数不能在并行模式下执行,并且SQL语句中存在该函数会强制执行串行执行计划。这是默认值。PARALLEL RESTRICTED表示该功能可以在并行模式下执行,但是执行仅限于并行组首。PARALLEL SAFE表示该功能可以不受限制地并行运行。
    估计成本使用估计成本字栋拿庞蜗菲教ㄗ⒉嵬驹cpu_operator_cost为单位指定一个正数,该正数表示该过程的估计执行成本。如果该过程返回一个集合,则这是返回的每一行的成本。
    防泄漏防泄漏开关以指示该过程是否有副作用-除了返回值以外,它不显示有关其参数的任何信息。默认值是无。

  5. 参数:

    使用参数选项卡来指定在调用过程时将应用的设置。

    表?6.53.?存储过程参数功能项描述

    项目描述
    名称单击添加按钮,将变量添加到表中的名称字段。
    使用值字段来指定将与所选变量关联的值。该字段是上下文相关的。

  6. 安全:

    安全选项卡用来给当前过程分配权限并定义安全性标签。

    表?6.54.?存储过程安全功能项描述

    项目描述
    被授权者从被授权者字段的下拉列表框中选择角色的名称。
    权限在权限字段内单击,选中一个或多个特权左侧的框,以将所选特权授予指定用户。
    授权者当前用户是授予特权的默认授权者,它显示在授权者字段中。

删除存储过程

选中要删除的存储过程,右键,选择“删除”或“级联删除”,如下图所示:

脚本

选中一个存储过程,右键选择“脚本”=>(CREATE脚本、EXEC脚本),如下图所示:

  • CREATE脚本

  • EXEC脚本

6.10.14.?序列

功能介绍:

序列控制serial数据类型的自动递增。在UXDBAdmin中定义serial列时,系统会自动创建序列,但你很容易更改初始值、增量和下一个值。因为序列是独立对象,所以多个表可以使用同一个序列对象,这样可以创建跨越多个表的独特键值。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“序列”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.55.?序列常规项功能项描述

    项目描述
    名称使用名称字段为序列添加描述性名称。名称将显示在UXDBAdmin树控件中。序列名必须与同一模式中的任何其他序列、表、索引、视图或外表的名称不同。
    所有者使用所有者旁边的下拉列表框选择将拥有序列的角色的名称。
    模式使用模式旁边的下拉列表框来选择序列所在的模式。
    注释在注释字段中存储关于序列的注释。

  2. 定义:

    表?6.56.?序列定义功能项描述

    项目描述
    增量使用增量字段指定将哪个值添加到当前序列值以创建新值。
    起始值在起始值字段中提供一个值来指定序列的开始值。默认的起始值是升序序列的最小值和降序序列的最大值。
    最小值在最小值字段中提供一个值,以指定序列可以生成的最小值。如果没有提供这个子句,或者没有指定最小值,那么将使用默认值。升序和降序序列的默认值分别为1和-263-1。
    最大值在最大值字段中提供一个值来指定序列的最大值。如果没有提供这个子句,或者没有指定最大值,那么将使用默认值。升序和降序序列的缺省值分别为263-1和-1。
    高速缓存在高速缓存字段中提供一个值,以指定要预先分配多少序列号并将其存储在内存中,以便更快地访问。最小值为1(一次只能生成一个值,即,没有缓存),这也是默认设置。
    循环将循环开关移动到确定位置,以允许序列在升序或降序序列分别达到最大值或最小值时进行换行。如果达到极限,则生成的下一个数字将分别是最小值或最大值。默认是取消。

  3. 安全:

    表?6.57.?序列安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择将被授予特权的角色的名称。
    权限单击权限字段内。选中一个或多个权限左侧的复选框,将选择的权限授予指定的用户。
    授权者从授权者字段的下拉列表框中选择角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。

6.10.15.?排序规则

功能介绍:

排序规则是一个SQL模式对象,它将SQL名称映射到操作系统区域。要创建排序规则,必须在目标模式上具有create权限。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“排序规则”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.58.?排序规则常规项功能项描述

    项目描述
    名称使用名称字段为排序规则添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有排序规则的角色的名称。
    模式使用模式旁边的下拉列表框来选择排序规则所在的模式。
    注释在注释字段中存储关于排序规则的注释。

  2. 定义:

    表?6.59.?排序规则定义功能项描述

    项目描述
    复制排序规则使用复制排序规则旁边的下拉列表框来选择要复制的现有排序规则的名称。新的排序规则将具有与现有排序规则相同的属性,但将是一个独立的对象。如果选择复制现有的排序规则,则无法修改此选项卡上显示的排序规则属性。
    区域设置使用区域设置字段指定区域设置;区域设置指定语言和语言格式特征。如果指定此参数,则无法指定以下任喊拿庞蜗菲教ㄗ⒉嵬净个参数。要查看Linux系统支持的地区列表,请使用命令locale -a。
    LC_COLLATE使用LC_COLLATE字段指定具有指定字符串排序顺序的区域设置。区域设置必须适用于当前数据库编码。
    LC_TYPE使用LC_CTYPE字段指定具有指定字符分类的区域设置。区域设置必须适用于当前数据库编码。

6.10.16.?物化视图

功能介绍:

物化视图是包含查询结果的存储或缓存视图。使用REFRESH MATERIALIZED VIEW命令可以更新物化视图的内容。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“物化视图”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.60.?物化视图常规项功能项描述

    项目描述
    名称使用名称字段为物化视图添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有物化视图的角色的名称。
    模式使用模式旁边的下拉列表框来选择物化视图所在的模式。
    注释在注释字段中存储关于物化视图的注释。

  2. 定义:

    表?6.61.?物化视图定义功能项描述

    项目描述
    填充查询使用填充查询选项卡中的文本编辑器字段提供将填充物化视图的查询。

  3. 存储:

    表?6.62.?物化视图存储功能项描述

    项目描述
    包含数据将包含数据开关移动到确定位置,以指定应该在创建时填充物化视图。否则,在调用REFRESH materialized view之前无法查询物化视图。
    表空间使用表空间旁边的下拉列表框为物化视图选择一个位置。
    填充因子使用填充因子字段为物化视图指定填充因子。表的填充因子是10到100之间的百分比。100(完整包装)是默认值。

  4. 参数:

    表?6.63.?物化视图参数功能项描述

    项目描述
    自定义auto-vacuum移动自定义auto-vacuum?切换到确定位置,对物化视图执行自定义维护。
    启用吗?将启用吗?切换到确定位置以选择整理表中的值。为值列中的每一行提供值。

  5. 安全:

    表?6.64.?物化视图安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择将被授予特权的角色的名称。
    权限单击权限字段内。选中一个或多个权限左侧的复选框,将选择的权限授予指定的用户。
    授权者从授权者字段的下拉列表框中选择角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供者。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。

6.10.17.?类型

功能介绍:

类型可以创建不同的自定义数据类型。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“类型”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.65.?类型常规项功能项描述

    项目描述
    名称使用名称字段为类型添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有类型的角色的名称。
    模式使用模式旁边的下拉列表框来选择类型所在的模式。
    注释在注释字段中存储关于类型的注释。

  2. 定义:

    表?6.66.?类型定义功能项描述

    项目描述
    成员名称使用成员名字段添加属性名。
    类型使用类型字段中的下拉列表框来选择数据类型。
    长度/精度使用长度/精度字段指定非数字类型的最大长度,或数字类型中有效数字的总数。
    规模使用规模字段指定小数点右边的位数。
    排序规则使用排序规则字段中的下拉列表框选择排序规则(如果适用)。

  3. 安全:

    表?6.67.?类型安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择将被授予特权的角色的名称。
    权限单击权限字段内。选中一个或多个权限左侧的复选框,将选择的权限授予指定的用户。
    授权者从授权者字段的下拉列表框中选择角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。

6.10.18.?视图

功能介绍:

大多数关系型数据库都支持视图,通过视图可以大大简化复杂的查询逻辑,另外也可以通过对视图执行更新操作来修改表数据。UXDBAdmin支持对基于单表的视图直接使用SQL进行更新操作,这样就不需要再写额外的规则或者触发器来实现对简单视图的更新。但对于包含更复杂逻辑的视图,或者是基于多张表的视图,对其进行数据更新操作时仍需编写规则或者触发器。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“视图”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.68.?视图常规项功能项描述

    项目描述
    名称使用名称字段为视图添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有视图的角色的名称。
    模式使用模式旁边的下拉列表框来选择视图所在的模式。
    注释在注释字段中存储关于视图的注释。

  2. 定义:

    表?6.69.?视图定义功能项描述

    项目描述
    安全屏障将安全屏障开关设置为确定,以指示视图充当安全屏障。
    检查选项使用旁边的下拉列表框选中从取消、本地或联级中选择的选项。本地选项指定只根据视图中定义的条件检查新行。级联选项指定根据视图和所有基础视图的条件检查新行。

  3. 代码:

    使用“ 代码”选项卡中的工作区编写查询以创建视图。

  4. 安全:

    表?6.70.?视图安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择将被授予特权的角色的名称。
    权限单击权限字段内。选中一个或多个权限左侧的复选框,将选择的权限授予指定的用户。
    授权者从授权者字段的下拉列表框中选择角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。

6.10.19.?触发器函数

功能介绍:

触发器函数创建触发器触发时将调用的操作。

具体操作:

  1. 选择数据库=>选择“模式”=>右键“触发器函数”=>创建。

  2. 根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.71.?触发器函数常规项功能项描述

    项目描述
    名称使用名称字段为触发器函数添加描述性名称。名称将显示在UXDBAdmin树控件中。
    所有者使用所有者旁边的下拉列表框选择将拥有触发器函数的角色的名称。
    模式使用模式旁边的下拉列表框来选择触发器函数所在的模式。
    注释在注释字段中存储关于触发器函数的注释。

  2. 定义:

    表?6.72.?触发器函数定义功能项描述

    项目描述
    返回类型使用返回类型旁边的下拉列表框指定与触发器函数关联的伪类型。如果要创建DML触发器,请选择触发器。如果要创建DDL触发器,请选择事件触发器。
    语言使用语言旁边的下拉列表框选择实现语言。默认是pluxsql。
    代码使用代码字段编写将在调用触发器函数时执行的代码。

  3. 代码:

    使用“ 代码”字段来编写在调用触发函数时执行的代码。

  4. 选项:

    表?6.73.?触发器函数选项功能项描述

    项目描述
    波动性使用波动旁边的下拉列表框来选择以下选项之一。VOLATILE表示触发器函数值可以在单个表扫描中更改。STABLE?表示触发器函数不能修改数据库,并且在单个表扫描中,它将始终为相同的参数值返回相同的结果。IMMUTABLE表示触发器函数不能修改数据库,并且总是在给定相同的参数值时返回相同的结果。
    返回集合切换以指示触发器函数是否返回包含多行的集合。默认是取消。
    严格切换以指示触发器函数在其任何参数为空时是否总是返回空值。如果是,当有空参数时,函数不执行;相反,将自动假定结果为空。默认是取消。
    定义安全以指定使用创建触发器的用户的特权来执行触发器函数。默认是取消。
    窗口函数移动窗口函数切换以指示触发器函数是窗口函数而不是普通函数。默认是取消。这目前只对用C编写的触发器函数有用。
    估计成本使用估计成本字段指定一个正数,该正数表示触发器函数的估计执行成本,以cpu_operator_cost为单位。如果函数返回一个集合,这是每个返回行的成本。
    估计行使用“估计行”字段指定一个正数,给出查询计划器应该期望触发器函数返回的估计行数。只有在函数声明返回一个集合时才允许这样做。默认的假设是1000行。
    防泄漏移动防泄漏装置,切换以指示触发器功能是否有副作用。默认是取消。此选项只能由超级用户设置。

  5. 参数:

    表?6.74.?触发器函数参数功能项描述

    项目描述
    名称使用名称字段中的下拉列表框来选择参数。
    使用值字段指定将与所选参数相关联的值。

  6. 安全:

    表?6.75.?触发器函数安全功能项描述

    项目描述
    被授权者从被授权者字段中的下拉列表框中选择将被授予特权的角色的名称。
    权限单击权限字段内。选中一个或多个权限左侧的复选框,将选择的权限授予指定的用户。
    授权者从授权者字段的下拉列表框中选择角色的名称。默认授权者是数据库的所有者。
    提供者在提供者字段中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。

6.10.20.?目录

目录是系统级的目录,用于存储系统函数和系统元数据。每个数据库创建好以后默认都会含有两个目录:一个名为UXsinoDB(ux_catalog),用于存储系统自带的函数、表、系统视图、数据类型转换器以及数据类型定义等元数据;另一个是ANSI(information_schema),用于存储ANSI标准中所要求提供的元数据对象,这些元数据对象遵从ANSI SQL标准的要求,以指定的格式向外界提供元数据信息。

只要仔细地研究一下ux_catalog,你就可以了解到UXDBAdmin这样一个庞大的系统是如何基于各种部件构建起来的。如果你有超级用户权限,那么可以直接修改ux_catalog的内容。

information_schema中最常用的元数据对象一般有以下几个:columns,列出了数据库中的所有表列;tables,列出了数据库中的所有表(包括视图);views,列出了所有视图以及用于构建或重新构建该视图的关联SQL,具体如下表所示。

表?6.76.?information_schema数据库表说明

目录描述
SCHEMATA提供了当前UXDB实例中所有数据库的信息。
TABLES提供了关于数据库中的表的信息(包括视图)。
COLUMNS提供了表中的列信息。
TABLE_PRIVILEGES给出了关于表权限的信息。
COLUMN_PRIVILEGES给出了关于列权限的信息。
CHARACTER_SETS提供了UXDB实例可用字符集的信息。
COLLATIONS提供了关于各字符集的对照信息。
COLLATION_CHARACTER_SET_APPLICABILITY指明了可用于校对的字符集。
TABLE_CONSTRAINTS描述了存在约束的表以及表的约束类型。
KEY_COLUMN_USAGE描述了具有约束的键列。
ROUTINES提供了关于存储子程序(存储程序和函数)的信息。此时,ROUTINES表不包含自定义函数(UDF)。
VIEWS给出了关于数据库中的视图的信息。
TRIGGERS提供了关于触发程序的信息。

6.10.21.?语言创建

功能介绍:

实现创建新的过程语言,新建数据库时默认会有pluxsql语言。语言对话框通过以下对话框选项卡组织过程语言的注册:常规项、定义和安全。

具体操作:

  1. 右键“语言”=>“创建”=>单击“语言”。

  2. 在名称下拉菜单中选择需要创建的语言,其他参数保留默认值或根据实际输入或选择。单击“确定”。

选项卡介绍:

  1. 常规项:

    表?6.77.?语言创建常规项功能项描述

    项目描述
    名称使用名称旁边的下拉列表框选择语言脚本。
    所有者使用所有者旁边的下拉列表框选择角色。
    注释在注释字段中存储关于语言的注释。

  2. 定义:使用定义选项卡中的字段定义参数。

    表?6.78.?语言创建定义功能项描述

    项目描述
    信任以指定只有具有UXsinoDB超级用户特权的用户才能使用这种语言。默认是确定。
    处理函数启用后,使用处理程序函数旁边的下拉列表框来选择将被调用来执行语言函数的函数。
    内联函数启用后,使用内联函数旁边的下拉列表框来选择将被调用来执行此语言中的匿名代码块(DO命令)的函数。
    验证程序函数启用时,使用验证器函数旁边的下拉列表框来选择在创建语言中的新函数时将调用的函数,以验证新函数。

  3. 安全:使用安全选项卡分配特权和定义安全标签。单击图标(+)进行操作。

    表?6.79.?语言创建安全功能项描述

    项目描述
    被授权者从被授权者中的下拉列表框中选择角色的名称。
    权限单击权限,选中一个或多个特权左侧的复选框,将选择的特权授予指定的用户。
    授权者从授权者的下拉列表框中选择角色的名称。默认授予人是数据库的所有者。
    提供者在提供者中指定安全标签提供程序。指定的提供者必须被加载,并且必须同意拟议的标记操作。
    安全标签在安全标签字段中指定一个安全标签。给定标签的含义由标签提供方自行决定。UXsinoDB对标签提供者是否或如何解释安全标签没有限制;它只是提供了一种存储它们的机制。

XML 地图 | Sitemap 地图