/*====================================================
*描述:            存储过程知识点总结,以Northwind数据库的Employees表为例
======================================================*/

--========================1.没有参数的存储过程================
create procedure usp_NoParameterSelect
as
begin
select * from dbo.Employees
end

GO

--========================执行测试========================
EXECUTE usp_NoParameterSelect

GO
--=======================2.带参数的存储过程===================

create procedure usp_ParameterSelect
(
@employeeID INT
)
as

begin
select * from dbo.Employees
where EmployeeID = @employeeID
end

--=======================执行测试===========================
EXECUTE usp_ParameterSelect 1

GO
--=======================3.带多个参数的存储过程==================

create procedure usp_MultiParameterSelect
@employeeID INT,
@employeeFirstName nvarchar(10)--要加上参数类型的长度
as
begin
select * from dbo.Employees
where EmployeeID = @employeeID
and FirstName = @employeeFirstName
end

--========================执行测试===========================
EXECUTE usp_MultiParameterSelect 1,'Nancy'

GO

--=======================4.output输出存储过程====================
create procedure usp_OutputSelect
@employeeID int ,
@employeeFirstName nvarchar(10) output
as
begin
select @employeeFirstName = FirstName from Employees
where EmployeeID = @employeeID
end

--=======================执行测试=============================
declare @name nvarchar(10)
execute usp_OutputSelect 1,@name output
select @name as name
GO

--======================5.return输出存储过程======================

create procedure usp_ReturnSelect
@employeeFirstName nvarchar(10)
AS
begin
declare @employeeID INT
select @employeeID = EmployeeID from Employees
where FirstName = @employeeFirstName

return @employeeID --**返回值必须是INT类型**
end

GO

--======================执行测试===============================
declare @employeeID INT
execute @employeeID = usp_ReturnSelect 'Nancy'
print @employeeID

GO

--=====================6.同时有output和return输出的存储过程=============

create procedure usp_OutputAndReturnSelect
@firstName nvarchar(10),
@lastName nvarchar(20) output
as
begin
declare @employeeID INT;

select @employeeID = EmployeeID,@lastName=LastName from Employees
where FirstName = @firstName

return @employeeID
end

GO

--======================执行测试================================
declare @employeeID INT
declare @lastName nvarchar(20)
execute @employeeID = usp_OutputAndReturnSelect 'Nancy',@lastName output
select @employeeID,@lastName

/*===========================================================
*****************************未完待续***************************************
*============================================================*/

转载于:https://www.cnblogs.com/ucos/p/3512965.html

存储过程知识总结【一】相关推荐

  1. 给测试小姐姐的第三封信 | ORACLE存储过程知识分享和测试说明

    1 兵马未动 粮草先行 1.1 引言 文章基于Oracle数据库简单介绍了存储过程(以下简称存过)的定义,调试,运维等相关知识,使能达到对存过的总体认知及部分掌握.文章主体共分为三部分,即存过的相识相 ...

  2. db2 java存储过程,db2存储过程 - 辜圆圆的个人空间 - OSCHINA - 中文开源技术交流社区...

    db2还是用dbvis 执行存储过程比较适合 很早就想学存储过程了,之前面试时都是问会不会存储过程,然而我只能摇摇头,看了大量博客,刚好这次可以用存储过程 ,会更方便一些就来搞一搞,其实和其他变成语言 ...

  3. 北京六天十次面试,已拿到offer,面试题和总结分享(Java岗)

    前言: 最近一朋友离了职,在北京前前后后面试了6天,一共10家公司,我找他分享出面试过程及经验,希望能对各位正在面试中或者准备面试的童鞋有所帮助,以下面试企业为了保密不说实际名称.以下为第一人称. 第 ...

  4. 谈谈面试十家公司的特别经历

    前言:春节过后回到公司一段时间后就选择了辞职,前前后后面试了6天,一共10家公司,技术过了6家,拿到了其中3家公司的offer,最终决定来到某个二线互联网公司工作.以下面试企业为了保密我不说实际名称 ...

  5. Mysql高级完整版

    文章目录 写在前面的话: 2.1.1 查看索引 2.1.2 删除索引 2.1.3 ALTER命令 1. 视图 1.1 视图概述 1.2 创建或者修改视图 1.3 查看视图 1.4 删除视图 2. 存储 ...

  6. 面霸吐血整理:我是如何面试了10家公司,拿到offer的?

    前言: 最近前前后后面试了6天,一共10家公司,分享出面试过程及经验,希望能对各位正在面试中或者准备面试的童鞋有所帮助,以下面试企业为了保密不说实际名称. 第一家公司:简称A 由于刚刚开始面试选择试试 ...

  7. Java程序员从笨鸟到菜鸟之(九)——数据库有关知识补充(事务、视图、索引、存储过程)

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.NET/csh624366188 一:事务 首先看一下什么是事务: 通俗的理解,事务是一组原子操作单元,从数据库角度说,就是 ...

  8. mysql存储过程大于小于_mysql5.0存储过程操作符知识_函数方法[Mysql学习]

    mysql存储过程基本函数 一.字符串类 CHARSET(str) //返回字串字符集 CONCAT (string2  [,... ]) //连接字串 INSTR (string ,substrin ...

  9. mysql case默认_MySQL知识整理10.1—存储过程和函数

    数据科学探路者:MySQL知识整理9-索引​zhuanlan.zhihu.com 一.什么是存储过程? 简单的说,存储过程是一条或者多条SQL语句的集合,可视为批文件,但是其作用不限于批处理. 我们常 ...

最新文章

  1. AJProgressPanel
  2. 关于朋友圈项目的重启。
  3. Objective-C语法之KVC使用 有图有真相
  4. VTK:绘制Arrow箭头用法实战
  5. boost::hof::rotate用法的测试程序
  6. 微信开发接口调用(前端+.net服务端)
  7. python 细枝末节
  8. 废水处理计算书 excel_废水监测数据是匿名的吗?
  9. matlab实验8数据分析与多项式计算,hashidamatlab实验八数据处理与多项式计算.doc
  10. 笨办法学 Linux 引言
  11. bmp280c语言程序,51单片机读取BMP280 180 280气压值1602显示程序
  12. MAC 笔记本的快捷键和输入法切换(搜狗)
  13. android 11.0 状态栏通知栏的图标为白色解决方案
  14. 进阶版拉依达准则(3sigm准则)的提出与应用
  15. 利用VBScript连接mysql数据库_过路老熊_新浪博客
  16. [luogu P4230]连环病原体
  17. 公司企业小程序怎么开发自己的小程序
  18. 西门子et200 分布式i/o_西门子S7-1500H冗余系统硬件及网络结构
  19. CouchDB系列 - 安装CouchDB
  20. 小程序后台数据交互-个人中心

热门文章

  1. uni-app小程序 点击页面滚动到指定位置
  2. “Content type ‘application/x-www-form-urlencoded;charset=UTF-8‘ not supported“解决方法
  3. [react] react中的setState执行机制是什么呢?
  4. [react] 经常用React,你知道React的核心思想是什么吗?
  5. Taro+react开发(18)--定义变量值
  6. [html] 一个标签上同时出现三个或多个class属性,请问它的渲染顺序是怎样的?
  7. [css] 请说说CSS3实现文本效果的属性有哪些?
  8. 前端学习(2656):vue2中用v-model实现
  9. 前端学习(2537):vue源码解析2伪数组转换为真数组
  10. “约见”面试官系列之常见面试题之第八十八篇之什么是vue生命周期(建议收藏)