Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 服务器管理 » MobiLink 参考 » MobiLink 服务器系统过程 » MobiLink 系统过程

 

ml_add_passthrough_script 系统过程

使用此系统过程来创建直通脚本。此过程将条目添加到 ml_passthrough_script 系统表。

语法
ml_add_passthrough_script ( 
'script_name', 
'flags',
'affected_pubs', 
'script', 
'description' 
)
参数

语法

说明

script_name

VARCHAR(128)。脚本名称。此值必须唯一。

flags

VARCHAR(256)。该值指示客户端如何运行脚本。该值可以为空,也可以包含以分号分隔的列表中的以下关键字的组合:

  • manual   表示该脚本只能在手动执行模式下运行。缺省情况下,所有脚本既能在自动执行模式下运行,又能在手动执行模式下运行。

  • 独占   表示该脚本只能在同步结束时,在所有的同步表上获得独占锁的情况下自动执行。如果 affected_ publications 值没有列出发布,则忽略该选项。该选项仅对 SQL Anywhere 远程数据库有意义。

  • schema_diff   表示该脚本应在模式比较模式下运行。在此模式下,对数据库模式进行更改以匹配该脚本所描述的模式。例如,将现有表的 create 语句视为 alter 语句。该标记只适用于在 UltraLite 远程数据库上运行的脚本。

例如:

'manual;exclusive;schema_diff'

affected_pubs

TEXT。脚本运行前必须进行同步的发布列表。空字符串或空值表示不需要同步。此值仅对 SQL Anywhere 客户端有意义。如果是 Adaptive Server Enterprise,此参数为 VARCHAR(16384)。如果是 DB2 LUW,此参数为 VARCHAR(4000)。如果是 Oracle,此参数为 CLOB。

script

TEXT。直通脚本的内容。此值不能为空。如果是 Adaptive Server Enterprise,此参数为 VARCHAR(16384)。如果是 DB2 LUW,此参数为 VARCHAR(4000)。如果是 Oracle,此参数为 CLOB。

脚本内容必须非空。对于 UltraLite 远程数据库,script 内容应为以单词 go 分隔的 SQL 语句的集合。请注意,单词 go 必须显示在单独行上。对于 SQL Anywhere 远程数据库,script 内容可以为包括在 begin…end 块中时有效的 SQL 语句的任意集合。

SQL Anywhere 远程数据库上 script 内容的示例:

DECLARE val INTEGER;
SELECT c1 INTO val FROM t1 WHERE pk = 5;
IF val > 100 THEN
    INSERT INTO t2 VALUES ('c1 is big');
ENDIF

UltraLite 远程数据库上 script 内容的示例:

CREATE TABLE myScript (c1 INT NOT NULL PRIMARY KEY)
GO
INSERT INTO myScript VALUES (1)
GO

description

VARCHAR(2000)。脚本的注释或说明。此值可以为空。

注释

如果 ml_passthrough_script 中已存在指定的 script_name,则此过程生成错误。

对于 DB2 主机统一数据库类型,此过程称为 ml_add_pt_script。请参见IBM DB2 主机系统过程名称转换

另请参见