一:没有参数的存储过程

CREATE PROCEDURE  select_all
AS
BEGIN
SELECT * from T_login1
END
GO

二:带参数的存储过程

CREATE PROCEDURE select_name

    @id uniqueidentifier
AS
BEGIN
SELECT * from T_login1 where PSN0001A=@id
END
GO

三:带通配符参数存储过程

alter proc proc_findStudentByName
@name nvarchar()='F%'
as
select * from T_login1 where PSN0001A like @name
go exec proc_findStudentByName 'F%'

四:带默认值的参数的存储过程

create proc sele_name
@name nvarchar()='hong3'
as
select * from T_login1 where PSN0002A=@name exec sele_name 'lk'
exec sele_name

五:带输出参数的存储过程

create proc [dbo].[p_selectName]

@name nvarchar(),
@num int output
as
select @num=COUNT(PSN0001A) from T_login1 where PSN0002A=@name declare @num int
exec p_selectName 'lk',@num output
print @num declare @num1 int
exec p_selectName @name='lk',@num=@num1 output
print @num1

六:临时存储过程

create proc #p_selectName2
as
select COUNT(PSN0001A) from T_login1 where PSN0002A='lk' exec #p_selectName2

七:存储过程的嵌套

alter proc #p_selectName2
as
select COUNT(PSN0001A) from T_login1 where PSN0002A='lk'
exec sele_name exec #p_selectName2

八:不缓存的存储过程

 if (object_id('proc_temp', 'P') is not null)
drop proc proc_temp1--如果存在不为空,释放掉
go
create proc proc_temp1
with recompile
as
select * from T_login1
go exec proc_temp1;

九:加密存储过程(无法查看存储过程的代码)

if (object_id('proc_temp_encryption', 'P') is not
null)
drop proc proc_temp_encryption
go
create proc proc_temp_encryption
with encryption
as
select * from T_login1;
go exec proc_temp_encryption;
exec sp_helptext 'proc_temp1';
exec sp_helptext 'proc_temp_encryption';

十:存储过程中使用if......else

CREATE PROCEDURE pro_numToName
@num int ,
@str nvarchar() output
AS
if @num=
begin
set @str='wang'
end
else
begin
set @str='qita'
end

sql存储过程的创建的更多相关文章

  1. PL SQL 存储过程 SQL SERVER创建存储过程及调用,Oracle创建存储过程及调用

    Oracle使用存储过程实例: 例1: //查出表字段赋值给存储过程变量 create proc proc_stu @sname varchar(20), //默认是输入参数(input),另外还有两 ...

  2. PL/SQL存储过程编程

    PL/SQL存储过程编程 /**author huangchaobiao *Email:huangchaobiao111@163.com */ PL/SQL存储过程编程(上) 1. Oracle应用编 ...

  3. SQL存储过程基础(从基础开始学,加油!)

    Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这样就可以提高存储过程的性能. Ø ...

  4. MYSQL中存储过程的创建,调用及语法

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  5. 转载 sql 存储过程与函数区别

    SQL Server用户自定义函数和存储过程有类似的功能,都可以创建捆绑SQL语句,存储在server中供以后使用.这样能够极大地提高工作效率,通过以下的各种做法可以减少编程所需的时间: 重复使用编程 ...

  6. SQL 存储过程入门(事务)(四)

    SQL 存储过程入门(事务)(四)   本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我 ...

  7. SQL存储过程概念剖析

    一.SQL存储过程的概念,优点及语法 定义:将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execut ...

  8. javax.transaction.xa.XAException: java.sql.SQLException: 无法创建 XA 控制连接。(SQL 2000,SQL2005,SQL2008)

    javax.transaction.xa.XAException: java.sql.SQLException:无法创建 XA 控制连接.错误: 未能找到存储过程'master..xp_sqljdbc ...

  9. SQL 存储过程(学生,课程表,选修表)

    SQL 存储过程(学生,课程表,选修表) 一.存储过程的分类 在SQL Server中存储过程分过两类: 1)系统存储过程("sp_"作为前缀) 2)用户自定义存储过程 二.创建和 ...

随机推荐

  1. [Angular 2] Custom Validtors

    Create a custom validtor which only accepts the string start with '123'; function skuValidator(contr ...

  2. java——递归调用

    递归函数调用调用本身,并通过自己的相应参数,这个计算过程中进行层,直到满足某些条件,只要停止呼叫. 递归函数的特点 1.函数要直接或间接调用自身. 2.要有递归终止条件检查.即递归终止的条件被满足后. ...

  3. rsyslog安装

    http://www.rsyslog.com/downloads/download-other/ http://www.rsyslog.com/download/stable-download/pag ...

  4. 各种div+css居中方式调整(转载)

    盘点8种CSS实现垂直居中水平居中的绝对定位居中技术 分类: 前端开发2013-09-11 21:06 24959人阅读 评论(3) 收藏 举报 绝对居中垂直居中水平居中CSS居中代码   目录(?) ...

  5. vsftp配置主动模式和被动模式

    配置文件:/etc/vsftpd/vsftpd.conf 主动模式配置方法: 主动式连接使用的数据通道 connect_from_port_20=YES 支持数据流的被动式连接模式 pasv_enab ...

  6. C# 邮件发送注意事项

    使用QQ邮箱作为smtp服务器时,遇到 "命令顺序不正确. 服务器响应为: AUTH first..",解决办法: smtpClient.UseDefaultCredentials ...

  7. OD: Kernel Exploit - 2 Programming

    本节接前方,对 exploitme.sys 进行利用. exploitme.sys 存在任意地址写任意内容的内核漏洞,现在采用执行 Ring0 Shellcode 的方式进行利用. 获取 HalDis ...

  8. (转)DedeCms Runphp 标签中调用其他变量的方法

    DedeCms Runphp 标签中调用其他变量的方法 我们都知道,在DedeCMS中是可以使用PHP的,常见的方法就是if else了,例如模板制作中,我们需要对来源和作者进行判断,如果为空,则提示 ...

  9. sql server identity限制

    identity属性是依赖于表的,它不是一种独立的序列机制,不能随意使用它生成新值. 标识值是在insert语句执行时生成的,不是在执行之前生成的. identity属性是以异步的方式分配标识值.这意 ...

  10. Open vSwitch在openstackHavana概述

    最近再看Open vSwitch一些东西,我认为openstack官网上对这一块做了一些了解,所以就把这一块翻译出来以供参考,英语不好,翻译得很粗糙. Open vSwitch插件是最有名的核心插件之 ...