在合作开发前还是把在做牛腩发布系统过程中, 复习到的数据库的知识,,曾经单粒的沙子打包进去好 。所以把存储过程入包.。
简单的来说存储过程,就是一个sql语句的结合,存储过程和sql语句没有区别,就是把多条sql语句封装起来了,成为我们程序中独立功能模块。
百度百科是这样说的,很是专业和全面:http://baike.baidu.com/view/68525.htm 所以就不赘述了。
为什么使用存储过程?因为比sql语句执行的速度快。为什么叫存储过程?存储的是一些sql的罗列,是依次执行多个sql语句的过程。
如何创建存储过程?
创建存储过程实例。
语法为:
CREATE PROCedure[owner.]procedure_name[;number] [(parameter1[,parameter2]...[parameter255])] [{FOR REPLICATION}|{WITH RECOMPILE} [{[WITH]|{,}ENCRYPTION]] AS sql_statements |
-- =============================================
-- Author: HaiFang
-- Create date: 2012-7-19
-- Description: 根据内容搜索新闻。
-- =============================================
ALTER PROCEDURE [dbo].[news_selectByContent]
@content varchar(1000)
AS
BEGIN
select top 10 n.id,n.title ,n.createTime,c.[name] from news n
inner join category c on n.caId =c.id
--查询的内容。
where n.content like '%' + @content + '%'
order by n.createTime desc
END
其他的编程语言如何调用存储过程? 把sql语句的名字换成存储过程的名字。
带参数的存储过程,更方便的查询。在asp.net中调用带参数的存储过程。
// 根据新闻类别的caId取出该类别下的所有新闻。
public DataTable SelectBycaId(string caId)
{
DataTable dt = new DataTable();
//传递存储过程中的参数.
string procName = "news_selectById";
SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@caid", caId) };
dt = sqlhelper.ExecuteQuery(procName, paras, CommandType.StoredProcedure);
return dt;
}
存储过程的优点是:
1.在执行重复任务时能提高效率;
2.使前端的应用程序共享应用逻辑;
3.可以永久创建,也可以临时创建;
4.可以在SQL Server启动时自动执行。
我想很多人都会有这样的感觉,在看第一遍专业的文字我们往往是充满恐惧的,因为我们对未知陌生是恐惧的。虽然被专业文字的准确 生动 形象所折服, 但往往是被他吓倒,要想看懂专业文字方法有 :一是多看它几遍不一定懂,只要熟悉就好,二是仔细看的时候要把专业的"文言文"翻译成自己的"白话文", 这样才是忘不掉的,变成自己的才是忘不掉的.