sql server数据库的带返回值的存储和函数的基础使用

准备基本的数据

create table test_table (
	id int identity(0,1),
	name varchar(20),
	age int,
	book_name varchar(50),
	price float
)
insert into test_table values ('jack',23,N'海底三万里',23.5);
insert into test_table values ('tom',43,N'天龙八部',123.5);
insert into test_table values ('rose',32,N'飘',53.5);
insert into test_table values ('quek',53,N'烽火俏佳人',63.5);

函数的使用

--创建函数根据书名获取作者姓名年龄 返回为某一个值是标量值函数定义
create function dbo.get_author (
	@book_name varchar(50)
)
returns varchar(50) --定义返回数据的数据类型
as
begin
	declare @author_name varchar(20) -- 定义返回值变量
	select @author_name=name from test_table where book_name=@book_name
	return @author_name
end

--select dbo.get_author(N'海底两万里');
--select dbo.get_author(N'海底三万里');

create function get_all_info (@book_name varchar(50))
returns table --返回表
as
return select id,age,name from test_table where book_name=@book_name

--select * from dbo.get_all_info(N'海底三万里')
--select * from dbo.get_all_info(N'天龙八部')

存储的使用

--查询是否存在某一本书,返回存在或者不存在
create proc havesomebook (
@book_name varchar(20),
@ishave varchar(5) output 
)
as
if (exists(select * from dbo.get_all_info(@book_name)))
	begin 
		set @ishave='存在'
	end
else
	begin
		set @ishave='没有'
	end

declare @ishave varchar(5)
exec havesomebook N'海底三万里',@ishave output
print @ishave
上一篇:redis的rehash


下一篇:MySQL增删改总结归纳