SQL中的函数运用

博客围绕SQL中的函数运用展开,虽暂无具体内容,但可知聚焦于SQL函数相关信息技术知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--1,SQL中的函数,a,Sql中的内置函数,b,标量函数,c,表值函数
--2,内置函数,有系统提供不能修改
--3,标量函数,用户自定义的函数返回单个值
--4,表值函数,返回表值
--5,优点,允许模块化开发,可以重复利用速度更快,减少网络流量
--6,

iF EXISTS (select * from sys.databases where name='netBarDB')
	drop database netBarDB
create database netBarDB
go
use netBarDB
go
create table cardInfo
(
	cardId int primary key identity,
	cardNo nvarchar(16),
	cardPassword nvarchar(16),
	transactTime datetime ,
	cardBalance money
)
go
insert cardInfo values('100-1','123456',GETDATE(),0)
insert cardInfo values('100-20','123456',GETDATE(),1)
insert cardInfo values('100-18','123456',GETDATE(),100)
insert cardInfo values('100-8','123456',GETDATE(),20)
insert cardInfo values('100-9','123456',GETDATE(),30)
insert cardInfo values('100-10','123456',GETDATE(),40)
--创建标量函数
go
create function  getCardNo(@id int)  --函数名及需要的参数
returns nvarchar(16)                --返回值类型,returns要加  S  
as
	begin
		declare @cardNo nvarchar(16)
		select  @cardNo=cardNo from cardInfo where cardId=@id
		return @cardNo  --返回需要的数据
	end
go
select dbo.getCardNo(1)   --调用函数'
--查看自定义函数
sp_help 'getCardNo'
--删除标量函数
drop function getCardNo
--返回表值函数
go
create function getAll(@id int)
returns table
as
	return
		select * from cardInfo where cardId=@id
go
--调用表值函数
select * from getAll(1)
--修改函数
go
alter function  getAll(@no nvarchar(16))
returns table
as
	return
		select * from cardInfo where cardNo=@no
go
select * from getAll('100-1')
--什么时候使用存储过程和函数

1,返回单个结果集的用表值函数比较好效率
2,逻辑上可以用单个select 
3,不执行更新操作
4,不需要动态execute 
5,返回一个结果集
6,需要用到临时表的
以上用表值函数比较好

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值