经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
java知识随笔整理-标量函数和表值函数
来源:cnblogs  作者:妞妞受氣包  时间:2019/7/26 8:54:05  对本文有异议

以sql server为例:

1、表值函数

用户定义表值函数返回 table 数据类型,表是单个 SELECT 语句的结果集。

示例代码CREATE FUNCTION Test_GetEmployeeSalary

(
@EmployeeID VARCHAR(20) --参数
)
RETURNS TABLE --返回类型为表
AS
RETURN
(
SELECT * FROM dbo.TEmployee
WHERE EmployeeID = @EmployeeID --通过一条sql查询语句获取表中数据
)

 --函数调用
SELECT * FROM Test_GetEmployeeSalary('1')
---------------------

2、标量值函数

函数很简单返回一个整型值,然后就可以在存储过程中调用了,不过调用的方式有所不同,象上面的表值函数调用是不需要所有者的,只要写函数名称就可以,对于标量值函数来说,是需要加上所有者的,比如所有者是dbo。

示例代码:
CREATE FUNCTION dbo.Test_GetMax
(
@a INT, --函数的两个参数
@b INT
)
RETURNS INT --返回类型为INT
AS
BEGIN
DECLARE @max INT;
IF(@a>=@b)
BEGIN
SET @max = @a;
END
ELSE
BEGIN
SET @max = @b
END

RETURN @max; --最后return返回@max中的值
END

--调用函数
SELECT dbo.Test_GetMax(2,3);

注意:

(1)必须使用两部分组成函数的名字来调用函数,即所有者.对象名,如dbo.Test_GetMax(2,3)

(2)所有的传入参数前必须加@

(3)不要写漏和写错关键字,如as,returns,return

(4)returns后面不是跟一个变量,而是跟变量的返回值类型

(5)在begin/end语句块中,使用的是return


转自:https://blog.csdn.net/luming666/article/details/78532695

 

原文链接:http://www.cnblogs.com/ashanxiaoya/p/11243931.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号