本文将为您详细介绍DB2数据库中创建用户自定义行数,用以扩展扩展内置的 DB2 函数的方法,供您参考,希望对您有所帮助。

可以创建用户定义函数来扩展内置的 DB2 函数。例如,创建计算复杂的算术表达式或操作字符串的函数,然后在 SQL 语句中像对待任何现有的内置函数一样引用这些函数。

假设需要一个返回圆的面积的函数,这个函数的输入参数是圆的半径。内置的 DB2 函数中没有这样的函数,但是可以创建一个用户定义的 SQL 标量函数 来执行这个任务,可以在 SQL 语句中支持标量函数的任何地方引用这个函数。 CREATE function ca (r DOUBLE)             RETURNS DOUBLE             LANGUAGE SQL             CONTAINS SQL             NO EXTERNAL ACTION             DETERMINISTIC             RETURN 3.14159 * (r * r);               NO EXTERNAL ACTION 子句指出这个函数不会对数据库管理程序不管理的对象的状态有任何影响。DETERMINISTIC 关键字指出这个函数对于给定的参数值总是返回相同的结果。在查询优化期间会使用这个信息。执行这个函数的简便方法是在一个查询中引用它。在下面的示例中,针对 SYSIBM.SYSDUMMY1 编目视图(其中只有一行)执行这个查询(可以选择任意的查询目标): db2 SELECT ca(96.8) AS area FROM sysibm.sysdummy1             AREA             ------------------------             +2.94374522816000E+004             1 record(s) selected.               还可以创建用户定义的表函数,它接受零个或更多的输入参数并以表的形式返回数据。表函数只能用在 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;               以下查询在 FROM 子句中引用这个新的表函数,并传递工作头衔 ‘CLERK’ 作为函数的参数。语法要求用关键字 AS 引入一个相关名称: db2 SELECT * FROM TABLE(jobemployees('CLERK')) AS clerk             EMPNO  FIRSTNAME    LASTNAME             ------ ------------ ---------------             000120 SEAN         O'CONNELL             000230 JAMES        JEFFERSON             000240 SALVATORE    MARINO             000250 DANIEL       SMITH             000260 SYBIL        JOHNSON             000270 MARIA        PEREZ             6 record(s) selected.

db2 控制台执行创建函数语句_DB2数据库中创建定义函数相关推荐

  1. db2 控制台执行创建函数语句_DB2中创建和使用SQL用户定义函数

    本文将为您详细介绍DB2数据库中创建用户自定义行数,用以扩展扩展内置的 DB2 函数的方法,供您参考,希望对您有所帮助. 可以创建用户定义函数来扩展内置的 DB2 函数.例如,创建计算复杂的算术表达式 ...

  2. db2 控制台执行创建函数语句_Python函数定义及调用

    函数定义,如下图所示,使用def进行函数定义,def后跟函数名,在函数名后跟括号和冒号.在定义函数的下一行进行缩进4个格,编写函数内容,定义好函数之后,只表示函数封装了一段代码,如果不主动调用函数,函 ...

  3. 在计算机上创建一个本地用户账户,在工作组中,默认时每台Windows计算机的( )能够在本地计算机的SAM数据库中创建并管理本地用户账户。...

    在工作组中,默认时每台Windows计算机的( )能够在本地计算机的SAM数据库中创建并管理本地用户账户. 更多相关问题 Working with the foreigners ____ me ___ ...

  4. pythoncast函数用法_数据库中cast函数

    SQL Server 中随机函数应用举例 最近工作中要随机生成一些数据,基本上全是通过rand()函数来完成.下面以几个例子做下简单说明. 1.生成年龄 思路:年龄一般为0-100岁,只要以当时日期为 ...

  5. 一条SQL语句查询数据库中的所有表、存储过程、触发器

    一条SQL语句查询数据库中的所有表.存储过程.触发器 (sysobjects表信息)   该条语句查询返回所有的用户表 select * from sysobjects where xtype='u' ...

  6. 金仓数据库KingbaseES数据库中存储过程和函数的区别

    关键字:存储过程 函数 KingbaseES数据库中存储过程和函数的区别如下表所示: 存储过程 函数 1 用于在数据库中完成特定的操作或者任务(如插入.删除等)  用于特定的数据(如选择) 2 程序头 ...

  7. 在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号、书名、单价、数量)。 利用JDBC连接数据库dbjava,实现数据表的增删 改查

    题目 1.在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号.书名.单价.数量). 2.利用JDBC连接数据库dbjava,实现数据表 ...

  8. java中创建数据表,Java如何在数据库中创建表?

    在此示例中,您可以看到如何在MySQL数据库中创建表.我们创建了一个称为表books具有以下字段,isbn,title,published_year和price.我们首先创建与数据库的连接,然后执行创 ...

  9. Oracle数据库中的SOUNDEX函数

    在Oracle数据库中,SOUNDEX函数返回字符串参数的语音表示形式,相对于比较一些读音相同,但是拼写不同的单词是非常有用的. SOUNDEX函数的语法: SOUNDEX(string) 计算语音的 ...

最新文章

  1. centos访问mysql_MySql 安装和访问(基于CentOS)
  2. Snort 网络***检测系统(二)之Snort 介绍
  3. mac安装brew失败怎么办?
  4. 【软件测试】系统测试
  5. 分布式云越来越火,它凭什么能够成为云计算未来的趋势?
  6. jQuery:无限循环两个或者多个事件 click / toggle between two functions
  7. 分治——南蛮图腾(洛谷 P1498)
  8. c++ 写入文件_Python学习第52课-写入文件
  9. C++实现离散余弦变换(参数为二维指针)
  10. luogu1850 [NOIp2016]换教室 (floyd+dp)
  11. 统计挖掘那些事(八)—— 分层抽样与交叉验证
  12. 数据库得事务控制详解,什么是事务回滚详解,通俗易懂
  13. SQL查询分析器单文件绿色版
  14. vss服务器状态失败_VSS错误自动修复
  15. 计算机快捷键大全截图,电脑截图按什么键?电脑截图的快捷键是什么
  16. 韦东山嵌入式linux第一期_裸机实战之开发板熟悉与体验篇
  17. 一周信创舆情观察(2.14~2.20)
  18. 人工智能对生活的影响
  19. 关于 RT-Thread 内核调度算法中 __rt_ffs函数为什么要检测 value值是否为0的疑问
  20. 自然数因式分解最小和

热门文章

  1. php读取checkbox数组值
  2. WinCE CEDDK之DMA相关函数
  3. 领域驱动设计的简略设计步骤
  4. tcl学习---windows下安装及运行环境
  5. C#开发高亮语法编辑器(一)——TextBox ,RichTextBox
  6. java已被弱化签名,高效Java第四十条建议:谨慎设计方法签名
  7. Linux下查看软件安装路径(whereis)
  8. c语言Wndproc未定义,为什么我的老是未定义
  9. ethtool如何让接口闪灯_如何解决专业家庭影院与卡拉OK的声学问题?
  10. Java SecurityManager checkPackageDefinition()方法与示例