视图、索引和事务 视图是由一个或多个数据表(基本表)导出的虚拟表或者查询表,是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制。 视图的好处:能够简化用户的操作;视图能够对机密数据提供安全保护。 创建视图时,视图的名称存在sysobjects表中。有关视图中所定义列的信息添加到syscolumns表中,而有关视图相关性的信息添加到sysdepends表中。另外,create view语句的文本添加到syscomments表中。 在通过视图向表中插入数据时,如果insert语句列表中包含有视图中没有选择的列和不允许为空值的列,这种操作是不允许的。 创建视图:create view view_employee as select emp_id,fname,lname from employee 使用视图:select * from view_employee 修改视图:alter view view_employee as select emp_id,fname,job_id from employee where job_id>10 删除视图:drop veiw view_employee 查看视图结构:exec sp_help view_employee 查看视图定义信息:exec sp_helptext 'view_employee'
索引提供了一种基于一列或多列的值对表的数据行进行快速访问的方法。索引提供的是表中得逻辑顺序。 聚集索引基于数据行的键值在表内排序和存储这些数据行。当数据表以某列为关键字建立聚集索引时,表中得数据行就以该列(聚集索引键)的排序次序进行存储。每个表只能有一个聚集索引。 非聚集索引具有完全独立于数据行的结构,一个表可以建立多个非聚集索引。 创建聚集索引:create clustered index studid_ind on stud(studid) 创建非聚集索引:create unique index studfullname_ind on stud(fname desc,lname) 删除索引:drop index stud.studid_ind 查看stud表上得索引:exec sp_helpindex stud
begin insert into jobs values('a',80,234) if @@error<>0 print '数据插入失败' else goto M end M:print '数据插入成功'