SQL Server数据库回顾之存储过程的创建和应用

数据库 SQL Server
本文主要介绍了使用存储过程的好处,并给出了创建存储过程和处理存储过程的详细代码,希望能对您有所帮助。

存储过程(stored procedure)可以很方便地来修改sql语句,直接在服务器上修改,而不用再到程序中修改,然后再保存,存储过程可以一定程度的保证数据的安全性。

1.存储过程大大增强了sql语言的功能和灵活性,存储过程可以用流程控制语句编写,有很强的灵活性。

2.存储过程可以保证数据的安全性和完整性,通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储结构可以使相关的动作在一起发生,从而可以维护数据库的完整性。

3.运用存储过程能很快的执行,在运行存储过程前,数据库已经对其进行了语法和句法分析,并且给出了优化执行方案,这种已经编译好的过程可以极大地改善sql语句的性能,执行sql语句的大部分工作已经完成。

4.在一定程度上可以降低网络的通信量,如果是sql语句,必须要把sql语句传给服务器然后执行sql语句。

5.可以集中控制sql语句:比如说当一个公司的规则发生变化的时候,只要改变服务器上的存储过程就行,一般公司的规则经常变化,如果把体现规则的运算程序放入应用程序中,则当公司规则变化时,就需要修改应用程序工作量非常之大,还得修改、发行和安装应用程序。如果把规则放在存储过程中,则当企业规则发生变化的时候,只要修改存储过程就可以了,应用程序就无需变化。

 

Create PROCEDURE [dbo].[news_selectNewNews]  
 
AS  
 
BEGIN  
 
select top10 n.id,n.title,n.createTime,c.[name],c.id as caId  
 
from news n  
 
inner join category c on n.caId=c.id  
 
order by n.createTime desc  
 
END 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

 

执行存储过程的时候,将数据库中建好的存储过程,交给界面层然后传给Dal层处理,只要设置commandtype=StoredProdure,这样数据库就可以处理存储过程了。

 

Public DataTable test(string ProcName)  
 
{  
 
DataTable dt=new DataTable();  
 
Cmd=newSqlCommand(procName,GetConn());(打开连接,传入存储过程)  
 
cmd.CommandType=CommandType.StoredProcedure;(执行sql语句和存储过程的差别)  
 
using(sdr=cmd.ExecuteReader(CommandBehavior.CloseConnection))  
 
{  
 
  Dt.load(sdr);  
 
}  
 
Returnsdr;  
 

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

 

关于存储过程的知识就介绍到这里,如果想了解更多SQL Server数据库的知识,这里的文章很精彩:http://database.51cto.com/sqlserver/,相信一定会带给您收获的。

【编辑推荐】

  1. Oracle跟踪文件分析工具TKPROF使用简介
  2. 误删SQL Server日志文件后怎样附加数据库
  3. SQL Server 2005数据库用户权限管理的设置
  4. 浅析SQL Server数据库专用管理员连接DAC的使用
  5. T-SQL行列相互转换命令:PIVOT和UNPIVOT使用详解
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2018-11-05 15:14:42

MySQL编程语言技术

2011-07-13 16:19:54

存储过程SQL Server数

2011-09-01 14:00:11

SQL Server 存储过程显示表结构

2011-08-29 10:55:03

SQL Server分页存储过程优化效率分

2010-09-06 11:05:05

SQL SERVER语句

2011-07-28 14:31:47

SQL Server数存储过程

2010-06-30 14:24:08

SQL Server数

2010-10-22 15:42:59

SQL Server创

2021-03-18 08:20:19

SQLServer数据库SQL

2010-06-28 13:45:16

SQL Server

2011-08-15 15:14:54

SQL Server存储过程异常处理

2019-06-20 15:25:14

MySQLL数据库存储

2010-07-06 16:31:08

SQL Server数

2010-06-30 16:48:19

SQL Server数

2019-08-27 15:00:09

MySQL数据库存储

2011-08-25 17:15:04

2010-07-15 12:38:14

SQL Server存

2010-09-14 10:47:45

sql server存

2010-07-15 17:28:50

SQL Server

2010-09-02 11:24:45

SQL删除
点赞
收藏

51CTO技术栈公众号