存储过程

Posted qianslup

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储过程相关的知识,希望对你有一定的参考价值。

定义:

提前存好的程序

常用系统的存储过程:

技术图片

创建存储过程:

 

CREATE PROC [ EDURE ] procedure_name [ ; number ]
    [ { @parameter data_type }  [ VARYING ] [ = default ] [ OUTPUT ] ] [ ,...n ]
 [ WITH
    { RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]
[ FOR REPLICATION ]
 AS 
 [ begin ]
     T-SQL 语句
 [ end ]

 

 

 

无参存储:

if exists (select * from sysobjects where name = pp_qsl)   
 drop procedure pp_qsl                                       /*判断是否存在该存储过程,存在则删除 */ 
 go                                                          /*防止出现批处理错误*/

create   procedure pp_qsl 
as 
select * from ceshi.dbo.[360_qsl]                /*执行程序*/
                        
go     

带参存储,无参数输出:

create procedure [dbo].[pp_sql]
(@StartDate nvarchar(50),@EndDate nvarchar(50), @default nvarchar(50) = 默认值)             
/*@StartDate: 初始日期   @EndDate: 结束日期  
@default : 默认值。如果输入参数,则以输入参数为准,未输入参数,则为默认值。必须放到最后 */  
                                                                                            
AS
DECLARE @LMStartDate nvarchar(50)                                 /*定义变量*/

select @LMStartDate = dateadd(MONTH ,-1,@StartDate)              /*变量赋值*/

select * from  [360_Mobile_Search]                          /*执行语句*/

带参存储,输出参数:

 

if exists (select * from sysobjects where name = pp_qsl)   
 drop procedure pp_qsl                                       /*判断是否存在该存储过程,存在则删除 */ 
 go  
 
create proc  pp_qsl 
@num int output                                         /*创建输出变量,必须带output */ 
as 
 declare @number int
 select @number =  count(*) from ceshi.dbo.[58TongCheng]  /*变量赋值 */ 
 set  @num    =   @number                                  /*选择变量,可以说输出 */ 
 select @num 
 select * from  ceshi.dbo.[58TongCheng]                    /*结果集,可以输出 */ 
 
 exec pp_qsl @num = 0                                   /*执行存储过程,若未给变量赋值,则取默认值*/

 

技术图片

 

调用参数:

EXEC procedure_name 参数

 

以上是关于存储过程的主要内容,如果未能解决你的问题,请参考以下文章

Java调用SQL Server的存储过程详解(转)

如何将 r ggplot 图存储为 html 代码片段

sql 这些代码片段将演示如何逐步使用PolyBase。你应该有一个blob存储和存储秘密方便

从Oracle存储过程Oracle 11g发送邮件

mybatis 存储过程

Sublime Text自定制代码片段(Code Snippets)