时间:2021-07-01 10:21:17 帮助过:25人阅读
释义:
列子:
CREATE FUNCTION funcGetResult(@ret int ) --传入了一个int类型的参数 RETURNS int --注意这里返回的是一个数据类型 AS BEGIN declare @n int set @n = 3 return @n* @ret END
表值函数又分为两种:内嵌表值函数(行内函数)或多语句函数
如果 RETURNS 子句指定的 TABLE 不附带列的列表,则该函数为内嵌表值函数。
语法
create function 函数名(参数) returns table [with {Encryption | Schemabinding }] as return( 一条SQL语句 )
释义:
列子:
create function getExams(@written float) returns table as return( select s.stuno,s.stuname,s.brithday,e.written,e.lab from StuInfo s left outer join exam e on s.stuno=e.stuno where written >= @written )
如果 RETURNS 子句指定的 TABLE 类型带有列及其数据类型,则该函数是多语句表值函数
语法:
--多句表格值函数 create function 函数名(参数) returns 表格变量名table (表格变量定义) [with {Encryption | Schemabinding }] as begin SQL语句 end --多句表格值函数包含多条SQL语句,至少有一条在表格变量中填上数据值
例子:
create function GetInfo(@name varchar(20)) returns @cTable table(UserName varchar(10),UserPwd varchar(10)) as begin insert into @cTable select userName,userPass from userinfo where username=@name return --函数中最后一条语句必须是返回语句。 end
--调用 select * from GetInfo(‘admin‘) ------------ UserName UserPwd admin amin
sqlserver自定义函数
标签:username 定义函数 关键字 加密 exp 返回值 color 函数 pass