MS SQL 常用SQL语句(三):创建、修改、删除索引、视图、函数等sql

1、索引操作:

--1、查看指定表的索引
--格式:exec sp_helpindex 'tableName';
exec sp_helpindex 'employee';

--2、新建索引:
--格式:
--Create [Unique][Clustered][NonClustered] index index_name On [Table/View] (Column[Asc/Desc])......
--Unique:唯一索引
--Clustered:簇索引(默认)
--NonClustered:非簇索引
--Table/View:索引可以建立在表或者视图上。
create unique index uniqueIndex on employee(empName asc);

--3、重命名索引:
--格式:exec sp_rename 'TableName.indexName','newIndexName','index';
exec sp_rename 'employee.uniqueIndex','uniqueIndex2','index';

--4、删除索引:
--格式:drop index TableName.indexName;
drop index employee.uniqueIndex2;

2、视图操作:

视图分类:标准视图,索引视图,分区视图

--1、创建视图:
--格式:Create View viewName as select_statement;
create view empView as select  * from employee;

--2、修改视图:
--格式:alter view viewName as select_statement;
alter view empView as select  * from employee where empAge>30;

--3、删除视图:
---格式:drop view viewName;
drop view empView;

--4、查看视图:
SELECT * FROM sysobjects WHERE (xtype = 'V');
--xtype可替换为如下参数:
--C = CHECK 约束
--D = 默认值或 DEFAULT 约束
--F = FOREIGN KEY 约束
--L = 日志 --FN = 标量函数
--IF = 内嵌表函数
--P = 存储过程
--PK = PRIMARY KEY 约束(类型是 K)
--RF = 复制筛选存储过程
--S = 系统表
--TF = 表函数
--TR = 触发器
--U = 用户表
--UQ = UNIQUE 约束(类型是 K)
--V = 视图
--X = 扩展存储过程

3、函数操作:

--1、创建函数
--语法结构:
--create Function 函数名(@parameter 变量类型[,@parameter 变量类型])
--Returns 变量类型
--as
--begin
--	命令行和程序块
--end
create function testFunc(@testA int,@testB int) 
returns int
as
begin
	declare @testSum int;
	set @testSum = @testA+@testB;
	return @testSum;
end

--2、查看函数
select * from sysobjects where xtype='fn'

--3、使用函数
select dbo.testFunc(100,200);

--4、修改函数
--修改与创建语法结构一致,就是将创建的create关键字修改成alter关键字即可,至于业务逻辑可以根据实际情况修改。
alter function testFunc(@testA int,@testB int) 
returns int
as
begin
	declare @testSum int;
	set @testSum = @testA+@testB;
	set @testSum = @testSum*2;
	return @testSum;
end

--5、重命名函数
--语法结构:exec sp_rename 函数原名称,函数新名称;
exec sp_rename testFunc,testFunc2;
--可能会产生警告:更改对象名的任一部分都可能会破坏脚本和存储过程。

--6、删除函数
--语法结构:exec procedure 函数名称[,函数2名称,函数3名称];
drop function testFunc;
drop procedure testFunc2,testFunc3;

猜你喜欢

转载自1017401036.iteye.com/blog/2335368