IDAX.EXPORT_MODEL - 导出模型

使用此存储过程可导出模型,以便可以将它们导入到另一个数据库中。

权限

此语句的授权标识所拥有的特权必须至少包括下列其中一项权限:

  • DATAACCESS 权限
  • 对导出的所有模型中所有表的 SELECT 特权。
    注: 要使用 acl 参数,语句的授权标识还必须具有下列其中一项权限:
    • SECADM
    • DBADM
    • SQLADM
    • ACCESSCTRL
    • DATAACCESS

语法

IDAX.EXPORT_MODEL(in parameter_string varchar(32672))

参数描述

parameter_string
必需的单字符串参数,其中包含以逗号分隔的 <parameter>=<value> 条目对。
数据类型:VARCHAR(32672)
以下列表显示参数值:
directory
必需。
所导出文件的目标目录的绝对路径。
该目录必须已存在.
请考虑使用专用目录甚至临时目录来存储所导出的模型。通过使用此目录,在数据库进程失败时,可以轻松清除所有遗留的中间文件。
name
必需。
所导出文件的文件名。
acl
可选。
指定是否要将模型特权(访问控制表)包括在导出的文件中。
缺省值:false
all
可选。
指定是否要导出所有模式中的模型。缺省情况下,仅导出当前模式中的模型。
注: 如果将 all 参数设置为 true,那么不能使用 schema 参数。
缺省值:false
log
可选。
指定是否要写入日志文件(扩展名为 .elog)。该日志文件将会包含成功导出的模型列表,以及导出操作所跳过的任何模型的相应错误消息。
缺省值:false
model
可选。
要导出的模型的名称。
请使用分号来分隔各个模型名称。如果任何模型名称混合使用大小写,您必须将其括在双引号内。
可以使用模式名称来限定模型名称,如下所示:<schema>.<model>。如果未包括模式名称,那么导出过程将会导出当前模式中的模型。
overwrite
可选。
发生命名冲突时要执行的操作。
如果目标目录中某个文件的名称与 name 参数指定的名称相同,那么缺省情况下导出操作将会失败。如果指定 overwrite=true,那么将会先删除现有文件,再将导出的文件写入目标目录。
缺省值:false
resume
可选。
指定 EXPORT_MODEL 过程在无法导出模型时是否停止。缺省情况下,将会跳过任何无法导出的模型,并且导出操作将会继续。
缺省值:true
schema
可选。
指定从中导出模型的模式。
注: 如果 all 参数设置为 true,那么不能指定 schema 参数。
缺省值:当前模式
where
可选。
一个子句,用于过滤所要导出的模型。可以通过 WHERE 子句来过滤 LIST_MODELS 过程所显示的任何模型。

返回的信息

EXPORT_MODEL 过程将返回一个结果集,其中包含所有成功导出的模型名称。如果 resume 参数设置为 true,那么结果集还会包括所有跳过的模型的名称及相应的错误消息,但不包括用户无权导出的任何模型。

示例

  • 以下示例将当前模式中的所有模型导出到 /tmp/foo.mdl
    call idax.export_model('directory=/tmp, name=foo')
  • 以下示例将 SAMPLE 模式中的所有模型导出到 /tmp/foo.mdl
    
    call idax.export_model('schema=sample, directory=/tmp, name=foo')
  • 以下示例将所有模式中的所有模型导出到 /tmp/foo.mdl
    call idax.export_model('all=true, directory=/tmp, name=foo')
  • 以下示例将当前模式中的模型 M1 和 M2 导出到 /tmp/foo.mdl
    call idax.export_model('model=sample.m1;test.m2, directory=/tmp, name=foo')
  • 以下示例将当前模式中的模型 M1 和 M2 导出到 /tmp/foo.mdl
    call idax.export_model('model=m1;m2, directory=/tmp, name=foo')
  • 以下示例将模型 SAMPLE.M1 和 TEST.M2 导出到 /tmp/foo.mdl
    call idax.export_model('model=sample.m1;test.m2, directory=/tmp, name=foo')
  • 以下示例将当前模式中的模型 M1 以及当前模式中模型名称以“T”开头的所有模型导出到 /tmp/foo.mdl
    call idax.export_model('model=m1, where=modelname like ''T%'', di-rectory=/tmp, name=foo')
  • 以下示例将模式 SAMPLE 中模型名称以“T”开头的模型导出到 /tmp/foo.mdl
    call idax.export_model('schema=sample, where=modelname like ''T%'', directory=/tmp, name=foo')