目录
- 标量UDF
应用:参数化视图 - 表值UDF
应用:实现复杂计算查询
UDF(User-Defined Function,自定义函数)
接受参数、执行操作并将操作结果以值的形式返回(单个标量值/结果集)。
不能在函数中执行:修改数据库表,操作不在函数上的局部游标,发送电子邮件,修改目录等。
USE tt
GO
SELECT * FROM dbo.voc
GO
item | color | quantity |
---|---|---|
Chair | red | 1 |
Chair | blue | 2 |
Chair | red | 3 |
yizi | red | 175 |
yizi | blue | 6 |
yizi | yellow | 240 |
yizi | red | 5 |
yizi | yellow | 120 |
yizi | yellow | 120 |
yizi | red | 5 |
yizi | yellow | 120 |
yizi | yellow | 120 |
- 标量UDF
-- 标量UDF
CREATE FUNCTION dbo.getTotalQt(@item varchar(10))
RETURNS int
AS
BEGIN
DECLARE @totalQt int
SET @totalQt = ( SELECT SUM(quantity)
FROM dbo.voc
WHERE item = @item
GROUP BY item)
IF @totalQt