`
isiqi
  • 浏览: 16494706 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

SQLSERVER存储过程入门与提高

阅读更多
什么是存储过程呢?
定义:
将常用的或很复杂的工作,预先用SQL语句写好并用一个指定的名称存储起来, 那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。

讲到这里,可能有人要问:这么说存储过程就是一堆SQL语句而已啊?

Microsoft公司为什么还要添加这个技术呢?

那么存储过程与一般的SQL语句有什么区别呢?

存储过程的优点:

1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。

2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。

3.存储过程可以重复使用,可减少数据库开发人员的工作量

4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

存储过程的种类:

1.系统存储过程:以sp_开头,用来进行系统的各项设定.取得信息.相关管理工作,

如 sp_help就是取得指定对象的相关信息

2.扩展存储过程 以XP_开头,用来调用操作系统提供的功能

exec master..xp_cmdshell 'ping 10.8.16.1'

3.用户自定义的存储过程,这是我们所指的存储过程

常用格式

Create procedure procedue_name

[@parameter data_type][output]

[with]{recompile|encryption}

as

sql_statement

解释:

output:表示此参数是可传回的

with {recompile|encryption}

recompile:表示每次执行此存储过程时都重新编译一次

encryption:所创建的存储过程的内容会被加密

如:

表book的内容如下

编号 书名 价格

001 C语言入门 $30

002 PowerBuilder报表开发 $52

实例1:查询表Book的内容的存储过程

create proc query_book

as

select * from book

go

exec query_book

实例2:加入一笔记录到表book,并查询此表中所有书籍的总金额

Create proc insert_book

@param1 char(10),@param2 varchar(20),@param3 money,@param4 money output

with encryption ---------加密

as

insert book(编号,书名,价格) Values(@param1,@param2,@param3)
select @param4=sum(价格) from book
go

执行例子:
declare @total_price money
exec insert_book '003','Delphi 控件开发指南',$100,@total_price
print '总金额为'+convert(varchar,@total_price)
go

存储过程的3种传回值:
1.以Return传回整数
2.以output格式传回参数
3.Recordset

传回值的区别:
output和return都可在批次程式中用变量接收,而recordset则传回到执行批次的客户端中

实例3:设有两个表为Product,Order,其表内容如下:
Product
产品编号 产品名称 客户订数
001 钢笔 30
002 毛笔 50
003 铅笔 100
Order
产品编号 客户名 客户订金
001 南山区 $30
002 罗湖区 $50
003 宝安区 $4
请实现按编号为连接条件,将两个表连接成一个临时表,该表只含编号.产品名.客户名.订金.总金额,
总金额=订金*订数,临时表放在存储过程中

代码如下:
Create proc temp_sale
as
select a.产品编号,a.产品名称,b.客户名,b.客户订金,a.客户订数* b.客户订金 as总金额
into #temptable from Product a inner join Order b on a.产品编号=b.产品编号
if @@error=0
print 'Good'
else
print 'Fail'
go
分享到:
评论

相关推荐

    学习SQL Server存储过程入门例子详解

    SQL Server 存储过程入门例子详解 SQL Server 存储过程是数据库管理员和开发人员的必备技能,本文将通过三个简单的例子来详细介绍 SQL Server 存储过程的基本知识。 例 1:简单的存储过程 在这个例子中,我们将...

    SQL server存储过程习题,SQL触发器习题.rar

    在SQL Server数据库管理系统中,存储过程和触发器是两种非常重要的数据库编程元素,它们对于数据库设计和数据管理具有深远的影响。下面将详细讲解这两个概念及其相关的知识点。 **SQL存储过程**: 1. **定义**:SQL...

    sqlserver存储过程入门例子加讲解

    SQL Server存储过程是数据库管理系统中一个非常重要的概念,它是预编译的SQL语句集合,可以执行复杂的数据库操作。...本文档“sqlserver存储过程入门例子加讲解.pdf”将提供具体的实例和详细解释,帮助新手快速上手。

    sqlserver存储过程入门例子加讲解.

    以上示例介绍了SQL Server存储过程的基础创建与调用方法,包括无参存储过程、单参数存储过程、多参数存储过程以及带有输出参数的存储过程。通过这些示例,读者可以了解存储过程的基本语法及其实现方式,为进一步学习...

    SQL Server 2000 入门与提高课件

    SQL Server 2000是微软...这个“SQL Server 2000 入门与提高课件”将通过幻灯片和PPT形式,深入浅出地讲解上述各个知识点,帮助学习者掌握SQL Server 2000的使用技巧,从而在实际工作中更好地管理和利用数据库资源。

    SQLServer存储过程

    SQLServer存储过程(stored procedure)从入门到精通 内附详细实例

    SQL Server 2005编程入门经典(第2版)之存储过程-触发器.pdf

    《SQL Server 2005编程入门经典(第2版)》是一本深入浅出的教程,涵盖了数据库管理系统SQL Server 2005的核心概念和技术。本书的重点在于讲解存储过程和触发器,这两个是数据库开发中至关重要的组件,用于实现复杂的...

    SQL Server存储过程入门案例详解

    SQL Server存储过程是一种预编译的SQL代码集合,它们存储在数据库中,允许开发者通过一个单一的调用来执行复杂的数据库操作。存储过程提高了代码的重用性和效率,减少了网络流量,因为它们只需要发送调用存储过程的...

    SQL Server 2005编程入门经典-触发器和存储过程教程

    《SQL Server 2005编程入门经典-触发器和存储过程教程》是针对初学者的一本详尽指南,旨在帮助读者深入理解SQL Server 2005中的核心概念,特别是触发器和存储过程这两大数据处理的重要工具。下面将详细阐述这两个...

    SQL Server存储过程入门......

    SQL Server存储过程是一种预编译的SQL代码集合,它存储在数据库中,允许开发者通过一个名称来执行一组操作。存储过程极大地提高了数据库管理系统的效率,因为它减少了网络流量,提升了性能,并且提供了更好的安全性...

    公司系统研发讲解sqlserver的存储过程

    本文将深入探讨SQL Server存储过程的基础概念、创建方法及应用场景,旨在帮助读者快速入门并掌握其基本用法。 #### 二、存储过程概述 ##### 1. 定义 存储过程是一组预编译的T-SQL语句集合,它被作为一个单元存储...

    SQL Server 2012 从入门到精通pdf

    《SQL Server 2012 从入门到精通》是一本深入浅出的教程,旨在帮助初学者和有一定经验的数据库管理员全面理解并熟练掌握Microsoft SQL Server 2012的使用。这本书以实例为引导,使学习过程更加生动且易于理解。在SQL...

    SQL Server存储过程入门案例详解.doc

    总的来说,理解并熟练使用SQL Server存储过程对于数据库开发人员来说至关重要,它能提高应用程序的效率,减少网络流量,同时提供更强的数据访问控制,确保数据的安全性。通过学习和实践这些基本示例,开发者能够更好...

    C# winform调用SQL存储过程-菜鸟入门 详细注释

    内容概要:简单的C# winform调用存储过程实例,创建存储过程入参,通过SqlConnection对象和SqlCommand对象调用存储过程,获取存储过程的出参并显示出来,详细代码注释,希望对用到C#调用存储过程的小伙伴有帮助 ...

    DBA级SQLServer数据库从入门到精通 完整版PDF

    本文档给大家带来了关于SqlServer数据的完整教程。本教程会包含多个阶段来学习,从零基础到高级进阶,再到DBA的全套教程,主要内容包括Sql语言基础、数据库设计原则、高级查询技巧、存储过程编写、性能优化调整等。...

    sqlserver存储过程入门例子加讲解.docx

    在SQL Server中,存储过程是一种预编译的SQL语句集合,可以视为数据库中的可重用函数。它们允许开发人员封装复杂的查询和操作,提高代码的可读性和性能。以下是对存储过程的一些基本概念和示例的详细解释: 1. **...

Global site tag (gtag.js) - Google Analytics