SQL Server学习进程(九)---存储过程

1.存储过程

1.1系统存储过程

系统存储过程是SQLServer 2014系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其他的系统管理任务。Transact-SQL语句是SQLServer 2014数据库与应用程序之间的编程接口。在很多情况下,一些代码会被开发者重复的编写多次,如果每次都编写相同功能的代码,不但繁琐,容易出错,而且由于SQL Server 2014逐条的执行语句会降低系统的运行效率。

1.2自定义存储过程

创建自定义存储过程时,存储过程名前面加上“##”表示创建了一个全局的临时存储过程;存储过程前面加上“#”时,表示创建局部临时存储过程。局部临时存储过程只能在创建它的会话中使用。

2.存储过程的创建与使用

--创建存储过程
CREATE PROCEDURE [schema_name.] procedure_name [;number]
{@parameter data_type}
[VARYING] [=default] [OUT | OUTPUT] [READONLY]
[WITH <ENCRYPTION] ] | [RECOMPILE] | [EXECUTE AS Clause] > ]
[FOR REPLICATION]
AS <sql_statement>

create PROCEDURE CountProc
as
SELECT COUNT(*) AS 总数 FROM fruits

--调用存储过程
exec CountProc

--创建带输入参数的过程
create procedure QueryById @sID int
as
select * from fruits where id = @sID

--两种方式执行QueryById
execute QueryById 101;
execute QueryById @sId=101;

----创建带默认输入参数的过程
create procedure QueryById @sID int=101
as
select * from fruits where id = @sID

--创建带输出参数的存储过程
CREATE PROCEDURE QueryById3
@sID int = 101,
@fruitscount int OUTPUT
as 

select @fruitscount=COUNT(fruits.id) from fruits where id=@sID

3.管理存储过程

3.1修改存储过程

除了关键字ALTER外,其它语句与CREATE PROCEDURE一样
ALTER PROCEDURE [schema_name.] procedure_name [;number]
{@parameter data_type}
[VARYING] [=default] [OUT | OUTPUT] [READONLY]
[WITH <ENCRYPTION] ] | [RECOMPILE] | [EXECUTE AS Clause] > ]
[FOR REPLICATION]
AS <sql_statement>

3.2查看存储过程信息

3.2.1使用系统存储过程sp_help,sp_helptext,OBJECT_DEFINITION来查看存储过程

select OBJECT_DEFINITION(OBJECT_ID('CountProc'))
exec sp_help CountProc
exec sp_helptext CountProc

3.2.2 使用对象资源管理器来重命名存储过程

目标存储过程-》(右击)-》属性

3.3重命名存储过程

3.3.1使用系统存储过程sp_rename来重命名存储过程

sp_rename oldObjectName,newObjectName

3.3.2 使用对象资源管理器来重命名存储过程

目标存储过程-》(右击)-》重命名

3.4删除存储过程

3.4.1使用T-SQL语句删除存储过程

DROP { PROC | PROCEDURE }  {  [ schema_name. ] procedure_name } [,...n]

3.4.2对象资源管理器删除存储过程


存储过程-》目标存储过程-》(右击)-》删除

猜你喜欢

转载自blog.csdn.net/qq_40951833/article/details/80744686
今日推荐