数据库回顾--存储过程的创建和应用
2011-07-15 20:07
357 查看
存储过程(stored procedure)如果使用的是存储过程那就很方便来修改sql语句,直接在服务器上修改,而不用再到程序中修改,然后再保存,存储过程可以一定程度的保证数据的安全性。
1, 存储过程大大增强了sql语言的功能和灵活性,存储过程可以用流程控制语句编写,有很强的灵活性
2, 存储过程可以保证数据的安全性和完整性,通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储结构可以使相关的动作在一起发生,从而可以维护数据库的完整性。
3, 运用存储过程能很快的执行,在运行存储过程前,数据库已经对其进行了语法和句法分析,并且给出了优化执行方案,这种已经编译好的过程可以极大地改善sql语句的性能,执行sql语句的大部分工作已经完成。
4, 在一定程度上可以降低网络的通信量,如果是sql语句,必须要把sql语句传给服务器然后执行sql语句。
5, 可以集中控制sql语句:比如说当一个公司的规则发生变化的时候,只要改变服务器上的存储过程就行,一般公司的规则经常变化,如果把体现规则的运算程序放入应用程序中,则当公司规则变化时,就需要修改应用程序工作量非常之大,还得修改、发行和安装应用程序。如果把规则放在存储过程中,则当企业规则发生变化的时候,只要修改存储过程就可以了,应用程序就无需变化。
--=============================================-- Author: 张石瑞-- Createdate: 2011-06-11 09:22--Description: 选择最新十条新闻--=============================================Create PROCEDURE [dbo].[news_selectNewNews] ASBEGIN 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 descEND
执行存储过程的时候,将数据库中建好的存储过程,交给界面层然后传给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, 存储过程大大增强了sql语言的功能和灵活性,存储过程可以用流程控制语句编写,有很强的灵活性
2, 存储过程可以保证数据的安全性和完整性,通过存储过程可以使没有权限的用户在控制之下间接地存取数据库,从而保证数据的安全。通过存储结构可以使相关的动作在一起发生,从而可以维护数据库的完整性。
3, 运用存储过程能很快的执行,在运行存储过程前,数据库已经对其进行了语法和句法分析,并且给出了优化执行方案,这种已经编译好的过程可以极大地改善sql语句的性能,执行sql语句的大部分工作已经完成。
4, 在一定程度上可以降低网络的通信量,如果是sql语句,必须要把sql语句传给服务器然后执行sql语句。
5, 可以集中控制sql语句:比如说当一个公司的规则发生变化的时候,只要改变服务器上的存储过程就行,一般公司的规则经常变化,如果把体现规则的运算程序放入应用程序中,则当公司规则变化时,就需要修改应用程序工作量非常之大,还得修改、发行和安装应用程序。如果把规则放在存储过程中,则当企业规则发生变化的时候,只要修改存储过程就可以了,应用程序就无需变化。
--=============================================-- Author: 张石瑞-- Createdate: 2011-06-11 09:22--Description: 选择最新十条新闻--=============================================Create PROCEDURE [dbo].[news_selectNewNews] ASBEGIN 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 descEND
执行存储过程的时候,将数据库中建好的存储过程,交给界面层然后传给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;
}
相关文章推荐
- 数据库回顾--存储过程的创建和应用
- SQL创建数据库、表、存储过程及调用
- 遍历数据库的未公开存储过程sp_MSforeachdb应用之Attach数据库
- 存储过程的创建及应用(实例讲解)
- SQL 语句创建数据库、表与存储过程的样例
- mysql+asp.net开发注意大全:mysql创建数据库的时候,创建新用户,并且付给权限。mysql存储过程的编写,mysql数据库引擎的区别,mysql数据库文件夹备份
- MSSQL监控数据库的DDL操作(创建,修改,删除存储过程,创建,修改,删除表等)
- 数据库的创建与管理存储过程
- 数据库的几个问题存储过程触发器函数创建以及sql优化
- 查询存储过程,数据库对象的创建历史
- 结合存储过程开发数据库应用程
- 创建数据库、表、存储过程...前的判断
- 数据库之存储过程创建表以及for循环插入数据
- SQL2K数据库开发二十七之存储过程操作创建存储过程(二)
- 适合我这种初学数据库菜鸟的存储过程的创建和调用详细过程
- 地磅称量系统之(14)创建地磅系统的数据库、表以及新增、修改、删除的存储过程
- SQL2K数据库开发二十六之存储过程操作创建存储过程(一)
- 结合存储过程开发数据库应用程
- 从创建数据库到存储过程与用户自定义函数的小感