当前位置: 代码迷 >> 综合 >> sqlsever 视图和事物以及索引的概念
  详细解决方案

sqlsever 视图和事物以及索引的概念

热度:5   发布时间:2023-12-18 02:13:49.0
视图:            相当于将一个表用一个视图来存储
create view vw_1 as select top 100 emp.Employee_Id as 员工编号,emp.Employee_Name as 员工姓名,dept.Department_Name as 部门from Employees as emp inner join Departments as depton emp.Department_Id=dept.Department_IDorder by dept.Department_ID //前提得有topselect * from vw_1drop view vw_1 --注意:在子查询,或视图等中不能使用order by子句,除非指定了top语句。

聚合索引和索引:
创建主键的时候就有了聚合索引 所以不需要创建 聚合索引是确定一条数据在数据集中的位置 存储记录是物理上连续存在
非聚合索引 :逻辑上的连续性
查看索引:select * from sys.indexes

select * from Employeesupdate Employees set Salary=Salary-1000 where Employee_Id=1 update Employees set Salary=Salary+1000 where Employee_Id=2--把这两句话放到一个事务中 begin transaction declare @sumerrors int = 0--set @sumErrors=0--执行操作update Employees set Salary=Salary-1000 where Employee_Id=1--立刻验证一下这句话是否执行成功了 set @sumerrors=@sumerrors+@@ERROR update Employees set Salary=Salary+1000 where Employee_Id=2 set @sumErrors=@sumErrors+@@errorif @sumerrors=0 begin commit end else beginrollback end --默认Sql Server是自动提交事务。insert ....ALTER TABLE Employees add constraint xx CHECK (Salary<100000) 约束的名字交 xx 如果这个约束一开始表就违反了 就会报错ALTER TABLE Employees drop constraint xx 是删除这个约束 没有修改约束的命令. 先增加一个新的约束,再删除旧的约束。