如何查询数据库已存在的索引

[复制链接]
查看11 | 回复4 | 2011-9-15 12:13:20 | 显示全部楼层 |阅读模式
回复

使用道具 举报

千问 | 2011-9-15 12:13:20 | 显示全部楼层
SELECTTableId=O.[object_id],TableName=O.Name,IndexId=ISNULL(KC.[object_id],IDX.index_id),IndexName=IDX.Name,IndexType=ISNULL(KC.type_desc,\'Index\'),Index_Column_id=IDXC.index_column_id,CColumnID=C.Column_id,CColumnName=C.Name,Sort=CASEINDEXKEY_PROPERTY(IDXC.[object_id],IDXC.index_id,IDXC.index_column_id,\'IsDescending\')WHEN1THEN\'DESC\'WHEN0THEN\'ASC\'ELSE\'\'END,PrimaryKey=CASEWHENIDX.is_primary_key=1THENN\'√\'ELSEN\'\'END,[UQIQUE]=CASEWHENIDX.is_unique=1THENN\'√\'ELSEN\'\'END,Ignore_dup_key=CASEWHENIDX.ignore_dup_key=1THENN\'√\'ELSEN\'\'END,Disabled=CASEWHENIDX.is_disabled=1THENN\'√\'ELSEN\'\'END,Fill_factor=IDX.fill_factor,Padded=CASEWHENIDX.is_padded=1THENN\'√\'ELSEN\'\'ENDFROMsys.indexesIDXINNERJOINsys.index_columnsIDXCONIDX.[object_id]=IDXC.[object_id]ANDIDX.index_id=IDXC.index_idLEFTJOINsys.key_constraintsKCONIDX.[object_id]=KC.[parent_object_id]ANDIDX.index_id=KC.unique_index_idINNERJOINsys.objectsOONO.[object_id]=IDX.[object_id]INNERJOINsys.columnsCONO.[object_id]=C.[object_id]ANDO.type=\'U\'ANDO.is_ms_shipped=0ANDIDXC.Column_id=C.Column_id--INNERJOIN--对于一个列包含多个索引的情况,只显示第1个索引信息--(--SELECT[object_id],Column_id,index_id=MIN(index_id)--FROMsys.index_columns--GROUPBY[object_id],Column_id--)IDXCUQ--ONIDXC.[object_id]=IDXCUQ.[object_id]--ANDIDXC.Column_id=IDXCUQ.Column_id
回复

使用道具 举报

千问 | 2011-9-15 12:13:20 | 显示全部楼层
select*fromuser_indexeswheretable_name=\'表名\';所有的索引就出来了
回复

使用道具 举报

千问 | 2011-9-15 12:13:20 | 显示全部楼层
sp_helpindex
回复

使用道具 举报

千问 | 2011-9-15 12:13:20 | 显示全部楼层
不太明白什么叫另一个查询条件……意思是说查另一个内容么?那就写成索引=外部数据库1.查询(“select*fromtable”)其中*是要查询的列(如果写成*就是查询所有列,table是表的名称……这个你可以参考SQL语句的如果你查询了多列,就要记住用外部数据库1.读()命令的时候,第2个参数代表是第几列,如果查询了一列,比如说原本的selectuserfrom123就是查询了表123中的user列……这个时候读()的第2个参数就只能用1了!如果你要查询别的的话,你可以这样写其中编辑框1是要查询的名字局部变量索引,整数型外部数据库1.打开MDB数据库(取运行目录()+“\\123.mdb”,,,,)索引=外部数据库1.查询(“selectuserfrom123”).如果(索引≠0)外部数据库1.到首记录(索引).判断循环首(外部数据库1.尾记录后(索引)=假).如果真(到文本(外部数据库1.读(索引,1))=编辑框1.内容)信息框(“用户存在”,0,)返回().如果真结束外部数据库1.到后一记录(索引).判断循环尾().否则信息框(“查询失败”,0,)返回().如果结束信息框(“用户不存在”,0,)这样就可以让用户自己定义编辑框1的内容,来决定查询哪个用户了!有关外部数据库的命令可以自己再看看易语言自带的帮助!也不知道回答的是不是你想要的……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行