SQL Server.第四章
/*----------------------------------------索 引-----------------------------------------------------*/ /*--聚集索引--*/ --主鍵會自動生成同名聚集索引,不能再建立 /*--非聚集索引--*/ --基本語法 --CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] --INDEX index_name --ON table_name (column_name) --[WITH FILLFACTOR=x] 填充因子:指定一個0~100之間的值,表示索引頁填充的百分比
--建立索引 --如果存在該索引,先將其刪除掉 IF exists(SELECT * FROM sys.indexes WHERE name = 'IX_score') DROP INDEX stuMarks.IX_score --對成績欄位建立非聚集索引,填充因子30% CREATE NONCLUSTERED INDEX IX_score ON stuMarks(score) WITH FILLFACTOR= 30 GO
--使用索引 --指定按索引查詢 SELECT * FROM stuMarks WITH(INDEX = IX_score) WHERE score between 60 and 90
/*----------------------------------------視 圖-----------------------------------------------------*/ select * from stuinfo where stusex = '男' --基本語法 --CREATE VIEW view_name [(列名...)] --AS --<SELECT語句> --建立檢視 --如果存在該檢視,先將其刪除掉 IF EXISTS ( SELECT * FROM sys.views WHERE NAME = 'view_stuInfo_stuMarks') DROP VIEW view_stuInfo_stuMarks GO --建立名為view_stuInfo_stuMarks的檢視 CREATE VIEW view_stuInfo_stuMarks(學號,姓名,成績) AS SELECT stuName,stuInfo.StuID,score FROM stuInfo LEFT JOIN stuMarks ON stuInfo.StuID = stuMarks.StuID GO --使用檢視 select * from view_stuInfo_stuMarks --檢視加密 --檢視所有檢視資訊 select * from information_schema.views; EXEC sp_helptext 'view_stuInfo_stuMarks' --加密試圖 IF EXISTS ( SELECT * FROM sys.views WHERE NAME = 'view_stuInfo_stuMarks') DROP VIEW view_stuInfo_stuMarks GO CREATE VIEW view_stuInfo_stuMarks(學號,姓名,成績) WITH encryption AS SELECT stuName,stuInfo.StuID,score FROM stuInfo LEFT JOIN stuMarks ON stuInfo.StuID=stuMarks.StuID GO