在 SQL Server 中有两种类型的函数用于操作数据库中的数据。
- 系统定义函数
- 用户定义函数
SQL Server 提供了用于操作数据的系统定义函数列表。这些系统定义函数是预定义的。我们不能改变这些系统定义函数的功能。在很多情况下,我们需要一个函数来根据我们的需要执行一些特定的任务。有功能被称为用户定义功能。
SQL Server 中有三种类型的用户定义函数。
- 标量值函数
- 简单的表值函数
- 多语句表值函数
标量值函数
标量值函数用于返回任何 T-SQL 数据类型的单个值。
简单的表值函数
使用简单的表值函数返回基于单个 SELECT 语句的表。
多语句表值函数
多语句表值函数用于返回基于多语句的表。
创建onitroademp表的语句
create table oiremp( id int, name varchar(32), age int, city varchar(32), salary money )
在onitroademp表中插入数据的语句
insert into oiremp values (1, 'jack',45,'hangzhou',10000); insert into oiremp values (2, 'tom',25,'hangzhou',15000); insert into oiremp values (3, 'bill',43,'shanghai',15000); insert into oiremp values (4, 'james',36,'hangzhou',15000); insert into oiremp values (5, 'bob',22,'shanghai',12000);
用于从onitroademp表获取数据的语句
select * from oiremp
创建一个函数
create function fnempid (@empname varchar(32)) returns int begin return (select id from oiremp where name=@empname) end
在sql server中调用该函数
在此语句中,我们使用函数来从表中获取数据。
select age,city salary from oiremp where id = dbo.fnempid('jack'); select age,city salary from oiremp where id = dbo.fnempid('bob');
创建其他函数示例
create function fnempname (@id int) returns varchar begin return (select name from oiremp where id = @id) end
调用我们创建的第二个函数
select name,age,city,salary from oiremp where name=dbo.fnempname(1)
日期:2020-06-02 22:17:41 来源:oir作者:oir