1.数据库中的exec命令,可以用来执行存储过程,可以把存储过程理解为定义在sql server数据库中的函数,而exec就是去执行该定义的函数,既然是函数,那么定义时就有一下几种类型
1)无参数无返回值的
2)有参数无返回值的
3)无参数有返回值的
3)有参数有返回值的
下面举几个简单的例子,供简单理解
(1 无参数
create procedure sp_latvia_sys_role --创建一个存储过程,其中sp_latvia_sys_role是创建的存储过程名称
as --作为(存储过程执行 本质上就是去执行一条定义好的语句)
begin
select * from sys_role
end
create procedure proc_office_info--(存储过程名)@Id int,@Name varchar(20) output--(参数名 参数类型)传出参数要加上outputas beginselect @Name=Name from dbo.Office_Info where Id=@Id --(sql语句)end
declare @houseName varchar(20) --声明一个变量,获取存储过程传出来的值exec proc_office_info--(存储过程名)4,@houseName output--(传说参数要加output 这边如果用@变量 = OUTPUT会报错,所以换一种写法)
select @houseName--(显示值)
4.带返回值的
create procedure proc_office_info--(存储过程名) @Id int--(参数名 参数类型) as begin if(select Name from dbo.Office_Info where Id=@Id)=null --(sql语句) begin return -1 end else begin return 1 end end declare @house varchar(20) --声明一个变量,获取存储过程传出来的值 exec @house=proc_office_info 2 --(调用存储过程,用变量接收返回值) --注:带返回值的存储过程只能为int类型的返回值 print @house 数据库各种文件解释:.sql文件:数据库脚本,可以在数据库中直接运行,脚本中都是数据库执行语句。 .mdf:数据库分离后文件格式,将一个数据库从服务器分离,会使源服务器上不存在该数据库 .bak:数据库备份文件,与分离的区别是备份后数据库在源服务器上仍旧存在 bcp命令,支持数据导入导出 定义变量:declare @Id int; 赋值:set @Id = 3; 输出:print(@Id)转载于:https://www.cnblogs.com/zst-blogs/p/10072024.html
相关资源:数据库系统原理学习笔记