佐助尾兽:创建和使用 SQL用户定义函数
来源:百度文库 编辑:中财网 时间:2024/05/10 12:41:14
1 、可以创建用户定义函数来扩展内置的 DB2 函数。例如,创建计算复杂的
算术表达式或操作字符串的函数,然后在 SQL 语句中像对待任何现有的内置函
数一样引用这些函数。
[ 示例 ]-[ 用户自定义函数 ] :
输入半径,返回圆的面积:
CREATE function ca (r DOUBLE)
RETURNS DOUBLE
LANGUAGE SQL
CONTAINS SQLNO EXTERNAL ACTION
DETERMINISTIC
RETURN 3.14159 * (r * r);
说明: NO EXTERNAL ACTION 子句指出这个函数不会对数据库管理程序不管 理
的对象的状态有任何影响。 DETERMINISTIC 关键字指出这个函数对于给定的参 数
值总是返回相同的结果。
调用自定义函数示例:
方法 1 :
db2 SELECT ca(2.5) AS area FROM sysibm.sysdummy1
方法 2 :
db2 values ca(2.5)
2 、还可以创建用户定义的表函数,它接受零个或更多的输入参数并以表的 形
式返回数据。表函数只能用在 SQL 语句的 FROM 子句中。
[ 示例 ]-[ 返回结果集的用户自定义函数 ] :
CREATE FUNCTION jobemployees (job VARCHAR(8))
RETURNS TABLE (
empno CHAR(6),
firstname VARCHAR(12),
lastname VARCHAR(15)
)
LANGUAGE SQL
READS SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
RETURN
SELECT empno, firstnme, lastname
FROM employee
WHERE employee.job = jobemployees.job;调用自定义函数示例:
db2 SELECT * FROM TABLE(jobemployees('CLERK')) AS clerk
算术表达式或操作字符串的函数,然后在 SQL 语句中像对待任何现有的内置函
数一样引用这些函数。
[ 示例 ]-[ 用户自定义函数 ] :
输入半径,返回圆的面积:
CREATE function ca (r DOUBLE)
RETURNS DOUBLE
LANGUAGE SQL
CONTAINS SQLNO EXTERNAL ACTION
DETERMINISTIC
RETURN 3.14159 * (r * r);
说明: NO EXTERNAL ACTION 子句指出这个函数不会对数据库管理程序不管 理
的对象的状态有任何影响。 DETERMINISTIC 关键字指出这个函数对于给定的参 数
值总是返回相同的结果。
调用自定义函数示例:
方法 1 :
db2 SELECT ca(2.5) AS area FROM sysibm.sysdummy1
方法 2 :
db2 values ca(2.5)
2 、还可以创建用户定义的表函数,它接受零个或更多的输入参数并以表的 形
式返回数据。表函数只能用在 SQL 语句的 FROM 子句中。
[ 示例 ]-[ 返回结果集的用户自定义函数 ] :
CREATE FUNCTION jobemployees (job VARCHAR(8))
RETURNS TABLE (
empno CHAR(6),
firstname VARCHAR(12),
lastname VARCHAR(15)
)
LANGUAGE SQL
READS SQL DATA
NO EXTERNAL ACTION
DETERMINISTIC
RETURN
SELECT empno, firstnme, lastname
FROM employee
WHERE employee.job = jobemployees.job;调用自定义函数示例:
db2 SELECT * FROM TABLE(jobemployees('CLERK')) AS clerk
c++函数模板的定义和使用方式
delphi中的函数指针如何定义和使用 急
大家谈谈创建和使用不定数目参数的函数
用vba访问sql server 怎么访问?我创建连接对象connection系统老提示用户定义类型未定义,怎么回事???
SQL语言创建表时候怎么定义主码和外码
创建一个汽车类(Car),为其定义两个属性:颜色和型号,为该类创建两个构造函数:
如何使用sqlconfigdatasource函数动态创建一个驱动程序为sql且有userid及password的数据源呢?
由N个变量元素组成的数组怎样定义和在函数里使用?
数组元素可以是一固定个数的变量吗?如何定义和在函数使用?
怎么用SQL查使用用户
SQ-Server 用户定义函数有什么用啊
这个用户自定函数为什么错误(sql 2000)
类的定义和构造函数
求SQL的函数表 和 习题
sql 函数
求助:构造函数和析构函数的完整定义
实波函数和复波函数的定义
函数定义和函数原形有什么区别吗
如何在Sql server 2005中创建并使用触发器
请问,SQL的字符串函数charindex,difference,ltrim如何使用?
本地连接和创建用户上网的区别
sql 安装和使用问题
创建用户
创建用户