a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 62|回复: 0

[计算机四级] 2012年计算机等级考试四级数据库技术(11)

[复制链接]
发表于 2012-7-31 20:48:14 | 显示全部楼层 |阅读模式
1、 用户定义函数可以扩展数据操作的功能,它在概念上类似于一般的程序设计语言中定义的函数。   13.2.2 创建和调用标量函数
+ H. Q# x+ B. Y3 _3 }! [1 ~  标量函数—返回单个数据值的函数;4 q1 x( \; K4 D3 D
  1、定义标量函数8 l) E: T6 |4 l7 r; A# t4 F
  CREATE FUNCTION [拥有者名.] 函数名3 d( k3 c) W2 L/ @7 _
  ([{@ 参数名[AS]标量数据类型[=default]}[,…n]])# h8 o) L- n5 k7 i8 N% w6 Z8 X
  RETURNS 返回值类型
7 c" E9 U0 u+ [& e5 F/ J" ^3 R7 x  [AS]- A9 X' h3 R3 C. ?) F! |
  BEGIN
$ P# m" T8 g$ a( {9 [: r  函数体6 u" H" K* \1 A
  RETURN 标量表达式; Z# d2 T( v0 D: y$ I" S# K% T1 x
  END% w, V3 _  @) [( |) r
  (1) 同存储过程一样,函数的参数也可以有默认值。9 K, }; p+ o5 |) w, c
  (2) 标量表达式:指定标量函数返回的标量值。6 s$ z2 u; i) i& ^& S4 ~/ f+ W
  2、 调用标量函数:2 @$ S2 h7 ]) V" q8 w
  当调用标量函数时,必须提供至少由两部分组成的名称:函数拥有者名和函数名。可在任何允许出现表达式的SQL语句中调用标量函数,只要类型一致;8 ]0 _& \0 e" `. F2 b% x& o
  13.2.3 创建和调用内嵌表值函数
! F% ^# O2 L7 e/ y5 e  1、 创建内嵌表值函数,其语法为:
9 E0 S' ?. v6 i5 ?0 p9 O  CREATE FUNCTION [拥有者名.] 函数名
1 E! M7 K% |6 o3 g8 s9 b% m7 R  ([{@ 参数名[AS]标量数据类型[=default]}[,…n]])
& d# X( v: j' p# F: e  RETURNS 返回变量 TABLE
* F8 e7 o" b; h$ D8 N6 C4 `  [AS]( o7 ^5 h! ?  p
  BEGIN
& ~( o4 {% X- }9 N3 K# }  B  函数体
8 D9 M' v) }+ |! w  RETURN0 i( W; [- w- _4 X
  END
5 q1 r" c7 S1 v( k  ?- d8 Z& Q. d7 P8 g* z  ::=({列定义|表约束}[,…n])
/ |7 k" u1 ?! G) Y' s  2、调用多语句表值函数
, X0 `" ?! W" v, v  多语句表值函数的返回值是一个表,因此对多语句表值函数的使用也是放在SELECT语句的FROM子句中。9 @! X) o2 N; C: u* u: d
  13.3 触发器
$ m7 F" D) E3 d) ]0 z0 P1 r) [  13.3.1 触发器基本概念# @0 G( W/ |9 M! K+ ]0 g
  1、 触发器是一种特殊的存储过程,其特殊性在于它不需要由用户来调用,而是当用户对表中的数据进行UPDATE、INSERT或DELETE操作时自动触发执行;6 b1 {! A! d, E
  2、 触发器常用于下列场合:/ U! d5 x3 R  R; R8 I, M; v
  (1) 完成比CHECK的约束更复杂的数据约束;
1 N5 L# }' p7 F% N5 V& ^3 T" b% d) N  (2) 为保证数据库性能而维护的非规范化数据;; E- |! w& Q: i' L
  (3) 实现复杂的业务规则,可使业务的处理任务自动进行。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-16 18:49 , Processed in 0.352864 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表