CREATE NONCLUSTERED 索引名称 ON 表名(字段)
你上面的就是CREATE NONCLUSTERED INDEX_Staff_TypeId on Staff (TypeId)
CREATE NONCLUSTERED INDEX_Staff_mondId on Staff (mondId)
索引是你在查询的时候进行快速检索,是自动实现的,所以怎么使用就不用说了吧SELECT
colname AS 列名,
typname as 数据类型,
colmax_length AS 占用字节数,
colprecision AS 数字长度,
colscale AS 小数位数,
colis_nullable AS 是否允许非空,
colis_identity AS 是否自增,
case when exists
( SELECT 1
FROM
sysindexes idx
join sysindex_columns idxCol
on (idxobject_id = idxColobject_id)
WHERE
idxobject_id = colobject_id
AND idxColindex_column_id = colcolumn_id
AND idxis_primary_key = 1
) THEN 1 ELSE 0 END AS 是否是主键
FROM
syscolumns col left join systypes typ on (colsystem_type_id = typsystem_type_id AND coluser_type_id = typuser_type_id)
WHERE
colobject_id =
(SELECT object_id FROM systables WHERE name = ' 你的表的名字 ')
*** 作步骤如下:
1、首先我们在这个StudentNo列上用你的鼠标右击,然后选择里面的修改,进行点击,d出
界面。
2、接着会有如下图中所示的窗口内容,这里选择里面的StudentNo,然后右击选择设置主键。
3、设置完毕之后,选择ctrl + S 保存。
4、保存完毕之后,再查看设置的主键时候,没有显示设置成功,这里需要在表上右击,选择刷
新。
5、刷新之后,就可以看到你设置的主键了,在主键列表中也可以看到已将设置成功。
USE [数据库名]GO
DECLARE @id VARCHAR(50)
SET @id = OBJECT_ID('表名')
DECLARE @index INT
SET @index = 0
DECLARE @columnId INT
SET @columnId = 0
DECLARE @column VARCHAR(200)
SET @column = ''
SELECT TOP (1) @index = index_id
FROM [sys][indexes]
WHERE object_id = @id
AND is_primary_key = 1
SELECT TOP (1) @columnId = column_id
FROM [sys][index_columns]
WHERE object_id = @id
AND index_id = 1
SELECT @column = name
FROM [sys][columns] WITH (NOLOCK)
WHERE object_id = @id
AND column_id = @columnId
SELECT @column AS [主键字段]
这个是我这边用来查询数据表主键的SQL,改造一下应该能满足你的要求。不过对于联合主键的话可能要稍微改改之类的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)