informix自定义函数的语法是什么

avatar
作者
筋斗云
阅读量:1

Informix自定义函数的语法如下:

CREATE FUNCTION function_name ([parameter1 [datatype1][,...]])    RETURN datatype    [WITH [(clause)]]    [LANGUAGE ] language_name    [DETERMINISTIC]    [SQL DATA ACCESS {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA}]    [COMMENT 'string']    [EXTERNAL NAME 'external_name']    [PARAMETER STYLE [SQL | GENERAL] [JAVA | C] [LANGUAGE 'language_name']]    [FENCED | NOT FENCED]    [DBINFO | NO DBINFO]    [STATEMENT CACHE [size | DEFAULT | OFF]]    [RETURN NULL ON NULL INPUT | CALLED ON NULL INPUT]    [NO EXTERNAL ACTION | EXTERNAL ACTION] BEGIN    -- Function body END

其中,各个关键字的含义如下:

- `CREATE FUNCTION`:用于创建函数。 - `function_name`:函数的名称。 - `parameter1`:函数的参数名称。 - `datatype1`:参数的数据类型。 - `RETURN datatype`:指定函数的返回值类型。 - `WITH [(clause)]`:指定函数的选项和特性。 - `LANGUAGE`:指定函数的编程语言。 - `DETERMINISTIC`:指定函数是否是确定性的。 - `SQL DATA ACCESS`:指定函数对数据库的访问方式。 - `COMMENT`:为函数添加注释。 - `EXTERNAL NAME`:指定外部函数的名称。 - `PARAMETER STYLE`:指定函数的参数风格。 - `FENCED`:指定函数是否运行在独立的地址空间中。 - `DBINFO`:指定函数是否可以访问数据库的信息。 - `STATEMENT CACHE`:指定函数的语句缓存大小。 - `RETURN NULL ON NULL INPUT`:指定函数在输入为NULL时的返回值。 - `NO EXTERNAL ACTION`:指定函数是否可以修改数据。 - `BEGIN`和`END`:包裹函数的主体部分。

请注意,以上语法中的方括号表示选项是可选的,而大括号表示选项之间是互斥的。你可以根据自己的需求选择适合的选项来定义函数。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!