常用SQL语句收藏 <三>
2015-09-06 15:32
513 查看
视图的创建删除与使用
创建: create view view_1 as SELECT dbo.class.class, dbo.class.studentnumber, dbo.class.teacher, dbo.student.id, dbo.student.name, dbo.student.age, dbo.student.english, dbo.student.born, dbo.student.class AS Expr1 FROM dbo.class INNER JOIN dbo.student ON dbo.student.class = dbo.class.class 使用: select * from view_1 删除:drop view view_1
触发器创建
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go CREATE TRIGGER [trigger_1] ON [dbo].[class] AFTER DELETE AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; delete from dbo.student where dbo.student.class not in (select class from dbo.class) -- Insert statements for trigger here END
此触发器的功能是:当class表有删除操作时,同步student表中的记录,将不存在的班级的记录全部删除.
使用触发器:
altertable student drop CONSTRAINT FK_CLASS select* From student where class='chuyi' select* From class where class='chuyi' deletefrom class where class='chuyi' select* From student where class='chuyi' select* From class where class='chuyi‘ 可以看到student表中的记录也被更新了.
修改触发器
set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER TRIGGER [trigger_1] ON [dbo].[class] AFTER DELETE AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; delete from dbo.student where dbo.student.class not in (select class from dbo.class) -- Insert statements for trigger here END
删除触发器:Drop trigger trigger_1
相关文章推荐
- 数据库设计原则
- mysql 中索引的限制
- 14->oracle常用的动态性能表
- mysql重做日志
- 源码编译安装mysql5.6报错及解决方法
- 读取纯真IP数据库C++源代码
- PHP_Memcache函数详解
- 利用GoldenGate实现Oracle实时同步方案
- MSSQL数据库测试连接的快捷方法
- xplan.sql(本脚本获取执行计划显示执行顺序)
- oracle常见受权与回收权限 grant和revoke
- memcache(使用php操作memcache)
- 论getHibernateTemplate().find(sql)的局限性
- MySQL存储引擎MyISAM与InnoDB的主要区别对比
- 13->oracle的数字字典
- Mysql和oracle的分页问题
- 持久化存储 (SQLite)
- mysql 日期和时间格式转换实现语句
- MySQL主从同步配置
- 淘宝内部分享:怎么跳出MySQL的10个大坑