if exists(select * from sysobjects where name = "newView") --如果存在删除drop view newViewgocreate view newView --创建视图asselect 学号=id,姓名=name,年龄=age from studentgoselect * from newView关于order by
if exists(select * from sysobjects where name = "newView") --如果存在删除drop view newViewgocreate view newView --创建视图asselect top 10 学号=id,姓名=name,年龄=age from studentorder by id desc --如果使用order关键字 则必须指定topgoselect * from newView修改视图
alter view newViewasselect top 20 * from studentorder by id desc --如果使用order关键字 则必须指定topgo更新架构
--刚刚修改的视图用的是 * 查询的是全部列--此时修改基础表架构alter table student add mail varchar(20)--这时源表已经更新架构,但是视图并没有改变 需要调用系统存储过程更新一下EXEC sp_refreshview studentView--这时 新的列才会被加进来更新视图
--源表中数据use webDBgoselect * from student
if exists(select * from sys.databases where name = "webDB_DBSS")drop database webDB_DBSS --存在则删除gocreate database webDB_DBSS --创建数据库快照on(name = webDB,filename="d:webDB_DBSS.ss" --注意后缀.ss) --如果有多个文件需要一一指出as snapshot of webDBgo
--修改源数据库数据use webDBgoupdate student set name="伟大" where id = 10 --查询源数据库数据select * from student where id = 10 --查询快照数据use webDB_DBSSgoselect * from student where id = 10
修改源数据库,快照数据库并未发生改变。
--修改student表架构alter table webDB.dbo.student add [address] varchar(20)select * from webDB.dbo.student--快照中依然没有select * from webDB_DBSS.dbo.student --删除源数据库student表drop table webDB.dbo.newTable --查询数据库快照该表 依然存在select * from webDB_DBSS.dbo.newTable从快照恢复数据到快照创建时刻
restore database webDBfrom database_snapshot="webDB_DBSS"goselect * from webDB.dbo.student --修改的值被改回select * from webDb.dbo.newTable --被删除的表 改回