WEB开发网
开发学院数据库MSSQL Server Stored Procedure(存储过程)编写经验和优化措施... 阅读

Stored Procedure(存储过程)编写经验和优化措施

 2007-11-11 08:01:05 来源:WEB开发网   
核心提示: 作者:Bipin Joshi翻译:webabcd介绍通常,开发人员使用的是T-SQL来创建sql server(WINDOWS平台上强大的数据库平台)的存储过程、函数和触发器,Stored Procedure(存储过程)编写经验和优化措施(10), 而现在的sql server(WINDOWS平台上强大的数据库平台)

  作者:Bipin Joshi
翻译:webabcd

介绍
 通常,开发人员使用的是T-SQL来创建sql server(WINDOWS平台上强大的数据库平台)的存储过程、函数和触发器。 而现在的sql server(WINDOWS平台上强大的数据库平台) 2005已经完全支持.NET通用语言运行时(CLR)了。 这就意味着,你可以使用.NET的语言,如C#、VB.NET之类的来开发sql server(WINDOWS平台上强大的数据库平台)的存储过程、函数和触发器。 sql server(WINDOWS平台上强大的数据库平台) 和 CLR 的集成给我们带来了n多好处,如实时编译、类型安全、增强的安全性以及增强的编程模型等。 本文中,我将向大家演示如何使用C#创建sql server(WINDOWS平台上强大的数据库平台)的存储过程。

背景
 我们在使用sql server(WINDOWS平台上强大的数据库平台)存储过程时,最常做的工作就是从数据库中读取或保存数据。 其常用应用如下:
   ·执行一些简单的逻辑,没有任何返回值。 也没有输出参数。
   ·执行一些逻辑,并通过一个或更多的输出参数返回结果。
   ·执行一些逻辑,并返回从表中读取的一条或多条记录。
   ·执行一些逻辑,并返回一行或多行记录。 这些记录不是从表中读取的,而是你自定义的一些数据行。

 为了演示如何用C#开发出这几种应用的sql server(WINDOWS平台上强大的数据库平台)存储过程,我将一个一个地举出示例。

启用CLR集成
 在你开始用C#写存储过程之前,必须要启用你的sql server(WINDOWS平台上强大的数据库平台)的CLR集成特性。 默认情况它是不启用的。 打开你的sql server(WINDOWS平台上强大的数据库平台) Management Studio并执行如下脚本。
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />sp_configure 'clr enabled', 1 
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />GO 
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />RECONFIGURE 
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />GO 
 这里,我们执行了系统存储过程“sp_configure”,为其提供的两个参数分别为:“clr enabled”和“1”。如果要停用CLR集成的话也是执行这个存储过程,只不过第二个参数要变为“0”而已。另外,为了使新的设置产生效果,不要忘记调用“RECONFIGURE”。

sql server(WINDOWS平台上强大的数据库平台)项目
 现在打开Visual Studio,并从文件菜单中选择“新建项目”。 在“新建项目”对话框中选择“Visual C#”下的“Database”。 然后选择“sql server(WINDOWS平台上强大的数据库平台)项目”模板。

使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图二)" width="462" height="181" />



 起好项目名称后就单击“确定”按钮。

 很快,你所创建的项目就要求你选择一个sql server(WINDOWS平台上强大的数据库平台)数据库。

使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图三)" width="354" height="364" />



 按照提示一步一步地做就好了,就算你选择了取消,也可以在“项目”–“属性”对话框中再一次选择数据库。 举个例子,假如你的电脑上有一个Northwind数据库,那么就在“新建数据库引用”对话框中选中它,然后单击“确定”按钮。 之后,sql server(WINDOWS平台上强大的数据库平台)项目在部署的时候就会将我们开发的存储过程写入这个数据库(继续往后看你就清楚是怎么回事了)。

 接下来,右键单击你新建的这个项目,选择“添加”-“存储过程”。 然后将会出现如下图所示的对话框:

使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图四)" width="397" height="141" />



 选择“存储过程”模板,并起一个合适的名字,然后单击“添加”按钮。

 添加完后你就会发现,实际上这是创建了一个已经导入了需要用到的命名空间的类。
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />using System;
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />using System.Data;
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />using System.Data.SqlClient;
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />using System.Data.SqlTypes;
使用C#创建sql server<font class=reblank  style=(WINDOWS平台上强大的数据库平台)的存储过程(图一)" width="11" height="16" />using Microsoft.SqlServer.Server;


 注意一下加粗显示的命名空间(译者注:后两个using)。 System.Data.SqlTypes命名空间包含了很多不同的类型,它们可以用来代替sql server(WINDOWS平台上强大的数据库平台)的数据类型。 Microsoft.SqlServer.Server命名空间下的类负责sql server(WINDOWS平台上强大的数据库平台)的CLR集成。

上一页  5 6 7 8 9 10 11  下一页

Tags:Stored Procedure 存储

编辑录入:coldstar [复制链接] [打 印]
赞助商链接