SQL函数
/* 1标量值函数,简单点来讲就是返回的结果只是一个标量,对于我来讲,返回的结果就是一种类型的一个值。 2内联表值函数 ,内联表值函数返回的是表数据。当然罗,表数据就是Table类型。内联表函数返回的表结构由函数体内的SELECT语句来决定。 3多语句表值函数,多语句表值函数跟内联表值函数都是表值函数,它们返回的结果都是Table类型。多语句表值函数顾名思义,就是可以通过多条语句来创建Table类型的数据。这里不同于内联表值函数,内联表值函数的返回结果是由函数体内的SELECT语句来决定。而多语句表值函数,则是需要指定具体的Table类型的结构。也就是说返回的Table,已经定义好要哪些字段返回。所以它能够支持多条语句的执行来创建Table数据。 自定义函数注意: 1 可以返回表变量 2不能使用output参数;不能用临时表;函数内部的操作不能影响到外部环境;不能通过select返回结果集;不能update,delete,数据库表; 3必须return 一个标量值或表变量 */ create function [ schema_name. ] function_name ( [ { @parameter_name [ as ][ type_schema_name. ] parameter_data_type [ = default ] [ readonly ] } [ ,...n ] ] ) returns return_data_type [ with <function_option> [ ,...n ] ] [ as ] begin function_body return scalar_expression end [ ; ] --新建标量值函数 create function biaoliangfun( @va1 int=1,@va2 int) returns int as begin declare @result int=1 return @result end --新建内联表值函数 create function biaozhifun( @va1 int) returns table as return ( select id,name from people where age = @va1 ) --新建多语句表值函数 create function duobiaofun( @va1 int) returns @result table (id int,name nvarchar(20)) as begin insert into @result(id,name) values(100,'china') return end --删除标量值函数 drop function biaoliangfun --调用表值函数 select * from biaozhifun(10) --调用标量值函数 declare @zhi int set @zhi=biaoliangfun(10)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现