编辑及删除索引
在Web页面中,可以查看数据表中创建的索引信息,还可以编写代码动态修改索引名称或者删除索引。
查看索引信息
ASP通过执行SQServer的系统存储过程sp_helpindex,可以获得数据表中的索引信息,创建Recordset对象存储该记录集,使用Recordset对象查看索引名称、索引描述以及索引字段等信息,代码如下:
<%
Set rs=Conn.Execute("sp_helpindex "&数据表名称&"")
Response.Write(rs("index_name")) '索引名称
Response.Write(rs("index_description")) '索引描述
Response.Write(rs("index_keys")) '索引字段
%>
修改索引名称
ASP通过执行用SQServer的系统存储过程sp_rename,可以修改数据表中索引的名称,代码如下:
<% Conn.Execute("exec sp_rename "&数据表名&"."&索引名&","&新索引名&",'index'") %>
删除索引
ASP通过执行DROP INDEX语句删除指定数据表中的索引,代码如下:
<% Conn.Execute("drop index "&数据表名&"."&索引名&"") %>
本示例通过选择数据表名称可以查看表中创建的索引,也可以根据需要修改索引名称和删除索引,运行结果如图1所示。

图1 编辑及删除索引
程序代码如下:
<%'建立数据库连接
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="provider=sqloledb;data source=.;initiacatalog=TestDB;user id=sa;password=;"
Conn.open Connstr
'删除索引
If Session("TableName")<>"" and action="delete" and ind_name<>"" Then
Conn.Execute("drop index "&Session("TableName")&"."&ind_name&"")
End If
'修改索引名称
If Not isempty(Request("Submit")) Then
txt_index=Trim(Request.Form("txt_index"))
str="exec sp_rename '"&Session("TableName")&"."&ind_name&"','"&txt_index&"','index'"
Conn.Execute(str)
End If
%>
注意:DROP INDEX命令不能删除创建的PRIMAR KEY或者UNIQUE约束索引。

RSS订阅





