使用 SYS_INIT 过程初始化模块
初始化模块是指设置模块对象及执行已定义模块初始化过程时可行的相关缺省值。模块初始化过程是在模块中使用保留名称 SYS_INIT 定义的 SQL 过程。通常由初始化过程执行的操作包括初始化变量、打开游标和创建临时表。
对模块定义过程 SYS_INIT 后,第一次引用已发布模块例程或模块中定义的已发布全局变量时将隐式调用此过程。还可通过在模块对象内部或模块外部执行 CALL 语句来显式调用此过程。
SYS_INIT 过程的用途是提供对下列各项的支持:
- 初始化模块中定义的变量。
- 初始化并打开与模块中定义的游标变量相关联的游标。
- 创建全局临时表。
- 调用包含初始化逻辑的其他过程。
可按将其他过程添加至模块的方式使用 ALTER MODULE 语句将 SYS_INIT 过程定义添加至模块。
SYS_INIT 过程定义可包含所有受支持 SQL PL 和 SQL 语句。
SYS_INIT 过程定义不能有参数。
SYS_INIT 过程定义不能返回结果集。