Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)aaa
published in(发表于) 2014/7/19 0:09:09
Delphi中管理sql server索引

Delphi中管理sql server索引

索引

1.对指定表的指定字段创建惟一聚集索引

可以用SQ语句CREATE UNIQUE CUSTERED来创建惟一聚集索引,其字段名必须用括号括起来,可以在字段的后面用关键字ASC/DESC来设置字段是升序还是降序,在一个表中只能创建一个惟一聚集索引。如果去掉UNIQUE,则创建的是聚集索引,去掉UNIQUE CUSTERED创建的是非聚集索引。

下面对指定表创建惟一聚集索引。

操作步骤如下:

(1)运行Dephi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TButton、TEdit和TDBGrid等组件。

(2)主要程序代码如下:

创建一个惟一聚集索引。

with ADOQuery2 do

begin

cose;

SQ.Cear;

SQ.Add('CREATE UNIQUE CUSTERED INDEX '+Edit1.Text+' ON '+ComboBox1.Text+'('+Combo Box2.Text+Str+')');

EXECSQ;

end;

删除已创建的索引。

with ADOQuery2 do

begin

cose;

SQ.Cear;

SQ.Add('If EXISTS(Seect * from sysindexes where name='+QuotedStr(Trim(Edit1.Text))+')'); //判断索引是否存在

SQ.Add('Drop Index '+COmboBox1.Text+'.'+Edit1.Text); //删除索引

EXECSQ;

end;

2.更新、删除已创建的索引

对索引名进行更新主要用系统存储过程sp_rename,删除索引名用SQ中的“DROP INDEX”语句来实现,上面的两种方法在获取索引名时,其索引名的格式必须为“表名.索引名”。

下面对指定表的索引名进行更新和删除。

操作步骤如下:

(1)运行Dephi,在窗体中添加TADOConnection、TADOQuery、TDataSource、TComboBox、TButton和TEdit等组件。

(2)主要程序代码如下:

更改索引名称。

with ADOQuery1 do

begin

cose;

SQ.Cear;

SQ.Add('EXEC sp_rename '+''''+Combobox1.Text+'.'+Edit2.Text+''''+','+''''+Edit1.Text+'''');

EXECSQ;

end;

删除已创建的索引名。

with ADOQuery1 do

begin

cose;

SQ.Cear;

SQ.Add('Drop Index '+Combobox1.Text+'.'+Edit2.Text);

EXECSQ;

end;

3.创建全文索引

创建索引的相关步骤如下:

(1)对要创建全文索引的表创建一个惟一聚集索引。

CREATE UNIQUE CUSTERED INDEX 索引名称 ON 表名(索引字段)WITH IGNORE_DUP_KEY

在一个表中只能创建一个惟一聚集索引。

(2)用系统存储过程sp_futext_database启动全文索引。

EXEC sp_futext_database 'enabe'

(3)用系统存储过程sp_futext_cataog创建全文索引目录。

EXEC sp_futext_cataog '索引目录名称','create'

对全文索引目录进行重命名或删除,只要将关键字create改为rebuid或drop即可。

(4)数据表启用全文索引。

EXEC sp_futext_tabe '表名', 'create', '索引目录名称', '创建的惟一聚集索引名称'

(5)添加全文索引字段。

EXEC sp_futext_coumn '表名', '字段名', 'add'

(6)用系统存储过程sp_futext_tabe中的关键字start_fu来激活全文目录。

EXEC sp_futext_tabe '表名','start_fu'

(7)对创建的全文目录进行完全填充。

EXEC sp_futext_tabe '表名','start_fu'

下面将对“MR_SQ”数据库中的指定表创建全文索引,如图1所示。



图1 创建全文索引


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759