SQL Server存储过程复习(一)
--存储过程学习篇 --.简单存储过程不带参数的学习
IF OBJECT_ID('Orders_GetAllOrders','P') IS NOT NULL
DROP PROCEDURE Orders_GetAllOrders;
GO
CREATE PROC Orders_GetAllOrders
AS
SET NOCOUNT ON;
SELECT * FROM dbo.Orders
GO --.简单存储过程,带参数
IF OBJECT_ID('Orders_GetAllByName','P') IS NOT NULL
DROP PROCEDURE Orders_GetAllByName;
GO
CREATE PROCEDURE Orders_GetAllByName
@ShipName NVARCHAR()
AS
SELECT * FROM dbo.Orders
WHERE ShipName=@ShipName
GO --执行带参数的存储过程
EXEC Orders_GetAllByName @ShipName=N'Hanari Carnes' --.使用带有通配符参数的简单存储过程 IF OBJECT_ID('Employees_GetAllByName','P') IS NOT NULL
DROP PROCEDURE Employees_GetAllByName;
GO
CREATE PROCEDURE Employees_GetAllByName
@FirstName NVARCHAR()=N'%',
@LastName NVARCHAR()=N'D%'
AS
SELECT * FROM dbo.Employees
WHERE FirstName LIKE @FirstName AND LastName LIKE @LastName; --执行存储过程
EXECUTE dbo.Employees_GetAllByName @FirstName = N'Nancy', -- nvarchar()
@LastName = N'Davolio' -- nvarchar() --.返回多个结果集
IF OBJECT_ID('GetManyResultsCount','P') IS NOT NULL
DROP PROCEDURE GetManyResultsCount;
GO
CREATE PROCEDURE GetManyResultsCount
AS
SELECT COUNT(*) FROM dbo.Orders;
SELECT COUNT(*) FROM dbo.Employees;
GO --执行存储过程
EXEC GetManyResultsCount; --使用 OUTPUT 参数的存储过程
IF OBJECT_ID('GetmanyProducts','P') IS NOT NULL
DROP PROCEDURE GetmanyProducts;
GO
CREATE PROCEDURE GetmanyProducts
@ProductName NVARCHAR(),
@MaxPrice MONEY,
@ComparePrice MONEY OUTPUT,
@UnitPrice MONEY OUTPUT
AS
SELECT p.ProductName,p.UnitPrice FROM dbo.Products AS P
INNER JOIN dbo.Categories AS C ON C.CategoryID = P.CategoryID
WHERE p.ProductName LIKE @ProductName AND p.UnitPrice<@MaxPrice --设置输出参数
SET @UnitPrice=(
SELECT MAX(P.UnitPrice) FROM dbo.Products AS P
JOIN dbo.Categories AS C ON C.CategoryID = P.CategoryID
WHERE p.ProductName LIKE @ProductName AND p.UnitPrice<@MaxPrice
)
SET @ComparePrice=@MaxPrice;
SQL Server存储过程复习(一)的更多相关文章
- SQL Server存储过程中使用表值作为输入参数示例
这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样 ...
- SQL Server存储过程Return、output参数及使用技巧
SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...
- SQL Server 存储过程(转载)
SQL Server 存储过程 Transact-SQL中的存储过程,非常类似于Java语言中的方法,它可以重复调用.当存储过程执行一次后,可以将语句缓存中,这样下次执行的时候直接使用缓存中的语句.这 ...
- 14、SQL Server 存储过程
SQL Server 存储过程 存储过程类似函数,可以重复使用.相对于函数,存储过程拥有更强大的功能和更高的灵活性. 存储过程中可以包含逻辑控制语句和数据操作语句,可以接受参数,输出参数,返回单个值或 ...
- (摘录)SQL Server 存储过程
文章摘录:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html SQL Server 存储过程 Transact-SQL中的存储过程 ...
- Sql Server 存储过程中查询数据无法使用 Union(All)
原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...
- Yii2.0调用sql server存储过程并获取返回值
1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE P ...
- C# 调用存储过程 Sql Server存储过程 存储过程报错,程序中的try
C#程序调用Sql Server存储过程,存储过程中报错情况,返回值... 0.SQL存储过程 USE [Opos] GO /****** Object: StoredProcedure [dbo]. ...
- sql server 存储过程使用游标记录
sql server 存储过程使用游标记录--方便下次参考使用 游标的组成: 声明游标 打卡游标 从一个游标中查找信息 关闭游标 释放游标 游标类型: 静态游标 动态游标 只进游标 键集驱动游标 静态 ...
随机推荐
- iphone/ipad/ipod设置VPN(pptp连接方式)
一.点击桌面上的-设置-图标进入设置(如图) 二.点击-通用-进入通用设置 三.点击-VPN-进入VPN设置(如图) 四.点击添加VPN设置进行设置 五.选择并连接
- svg―Raphael.js Library(一)
Raphael是一个用于在网页中绘制矢量图形的Javascript库,它使用SVG W3C推荐标准和VML作为创建图形的基础,可以通过JavaScript操作DOM来轻松创建出各种复杂的柱状图.饼图. ...
- Linux 的启动流程(转)
原文链接:http://blog.jobbole.com/46078/ 半年前,我写了<计算机是如何启动的?>,探讨BIOS和主引导记录的作用. 那篇文章不涉及操作系统,只与主板的板载程序 ...
- Centos 6.5 下安装socket5代理
---恢复内容开始--- 1. 安装 先安装依赖库 yum -y install gcc gcc-c++ automake make pam-devel openldap-devel cyrus-sa ...
- Android中用layer-list编写阴影效果
要实现这种效果当然有多 种方式,比如背景图片直接加阴影效果,或者用代码画一个(onDraw()).这次我们直接用layer-list来实现.在项目 res->drawable中创建一个xml,如 ...
- JAVA中关于数组的定义
前些日子,有网友问:在JAVA中 int[] a 这样定义的数组和 int a[] 定义的数组有什么区别? 当时没有细看,直接回复说,在JAVA中,两者是一样的,没有区别. 回头仔细看时,还是稍有区别 ...
- lxde桌面默认快捷键
ctrl+alt+左右 选择左右桌面shift+alt+左右 当前窗口送至左右桌面房子键+F1~F4 切换桌面1-4房子键+d 显示桌面alt+esc ...
- tengine-2.1.0 + lua + base64
参考:http://my.oschina.net/eduosi/blog/169606 安装 readline,lua 编译需要用到这个,centos 可以通过 yum 直接安装,如果不需要系统的,可 ...
- C++ CompletionPort(完成端口)示例
ECHO客户端 #include <WINSOCK2.H> #include <stdio.h> #define SERVER_ADDRESS "127.0.0.1& ...
- DSP中CMD文件
DSP中CMD文件 (2012-12-26 20:54:17) 转载▼ 标签: 杂谈 分类: DSP FPGA DSP的存储器的地址范围,CMD是主要是根据那个来编的.CMD 它是用来分配rom和ra ...