--存储过程学习篇

 --.简单存储过程不带参数的学习
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存储过程复习(一)的更多相关文章

  1. SQL Server存储过程中使用表值作为输入参数示例

    这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样 ...

  2. SQL Server存储过程Return、output参数及使用技巧

    SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...

  3. SQL Server 存储过程(转载)

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

  4. 14、SQL Server 存储过程

    SQL Server 存储过程 存储过程类似函数,可以重复使用.相对于函数,存储过程拥有更强大的功能和更高的灵活性. 存储过程中可以包含逻辑控制语句和数据操作语句,可以接受参数,输出参数,返回单个值或 ...

  5. (摘录)SQL Server 存储过程

    文章摘录:http://www.cnblogs.com/hoojo/archive/2011/07/19/2110862.html SQL Server 存储过程 Transact-SQL中的存储过程 ...

  6. Sql Server 存储过程中查询数据无法使用 Union(All)

    原文:Sql Server 存储过程中查询数据无法使用 Union(All) 微软Sql Server数据库中,书写存储过程时,关于查询数据,无法使用Union(All)关联多个查询. 1.先看一段正 ...

  7. Yii2.0调用sql server存储过程并获取返回值

    1.首先展示创建sql server存储过程的语句,创建一个简单的存储过程,测试用. SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE P ...

  8. C# 调用存储过程 Sql Server存储过程 存储过程报错,程序中的try

    C#程序调用Sql Server存储过程,存储过程中报错情况,返回值... 0.SQL存储过程 USE [Opos] GO /****** Object: StoredProcedure [dbo]. ...

  9. sql server 存储过程使用游标记录

    sql server 存储过程使用游标记录--方便下次参考使用 游标的组成: 声明游标 打卡游标 从一个游标中查找信息 关闭游标 释放游标 游标类型: 静态游标 动态游标 只进游标 键集驱动游标 静态 ...

随机推荐

  1. 阿里大鱼.net core 发送短信

    阿里大鱼还未提供 .net core 版SDK,但提供了相关API,下面是.net core版实现,只是简单发送短信功能: using System; using System.Collections ...

  2. 常用jquery插件资料

    fullPage.js 全屏滚动https://github.com/alvarotrigo/fullPage.js Lava Lamp 导航条熔岩灯http://lavalamp.magicmedi ...

  3. C#-DataTable分页代码

    /// <summary> /// DataTable分页并取出指定页码的数据 /// </summary> /// <param name="dtAll&qu ...

  4. HL AsySocket 服务开发框架 - 总体思路与架构

    一 背景 最近在园子了浏览了几篇有关Socket文章,得到了一些启发萌生了想要重构公司在2000年用.NET Framework 2.0 与 Visual Studio 2005开发的AsySocke ...

  5. Python: Catch multiple exceptions in one line (except block)

    Enclose in parentheses: except (IDontLIkeYouException, YouAreBeingMeanException) as e: pass Separati ...

  6. 【linux】——FreeBSD 建立 SSH 连接慢的解决方法

    一般在编写 linux 程序的时候,会使用 SecureCRT 或者 xshell 等工具远程登录到 linux 服务器上.最近发现在建立 SSH 连接的时候,非常慢,但是建立连接成功之后可以正常使用 ...

  7. struts2:struts.xml配置文件详解

    1. 几个重要的元素 1.1 package元素 package元素用来配置包.在Struts2框架中,包是一个独立的单位,通过name属性来唯一标识包.还可以通过extends属性让一个包继承另一个 ...

  8. 在spring,mybatis整合配置中走的弯路(1)

    在接触一个新东西,总免不了走一些弯路,也正是在这些弯路中,我们不断的成长. 从git上把之前写的代码扒下来,看看我在当初使用spring与mybatis中所走的弯路,路过的君子也可引以为戒. < ...

  9. CSS - Transform(Translate) abnormal shadow in firefox

    问题:当在Firefox中实现动画translate时,会出现虚影的状况: 经查找相关的解决方法,父容器添加样式:outline: 1px solid transparent;//即可解决问题. 但不 ...

  10. CSS技巧(二):CSS hack

    什么是CSS hack CSS hack由于不同的浏览器,比如IE6,IE7,Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果. 这个时候我们就需 ...