[SQL]触发器的使用
1. 创建触发器, 在mssql下的触发器的使用:Db->表->选择表名->所有任务(右键)->管理触发器
2. 当表被更新\插入\删除后,都可以通过定义触发器来响应该事件,从而进行相应的处理! 如一个学生转系了,其学号被更换了,他所借的图书对应的学号也相应需要改动,这个我们可以只通过update其学号,和学号相关联的表由触发器来更新!
3. example:
CREATE TRIGGER [user_update] ON [dbo].[Users]
FOR INSERT
AS
BEGIN
DECLARE curUserid CURSOR FOR SELECT [USERID] from [INSERTED]
OPEN curUserid
DECLARE @insertid integer
FETCH NEXT from curUserid INTO @insertid
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE Users SET UserName="ycli_in" where UserID = @insertid
FETCH NEXT from curUserid INTO @insertid
END
CLOSE curUserid
DEALLOCATE curUserid
END
注意将 $$ -> \\
相关文档:
Insert Into 数据表名称(字段名称1,字段名称2,...) values(字段值1,字段值2,...)
insert into user(username,password,age) values('李老四','6666',45)
Update 数据表名称 Set 字段名称=字段值,字段名称=字段值,...[Where 条件]
Delete from 数据表
下列查询返回在LONDON(伦敦)或SEATTLE(西雅图)的所有雇员:
S ......
大家都在讨论关于数据库优化方面的东东,刚好参与开发了一个数据仓库方面的项目,以下的一点东西算是数据库优化方面的学习+实战的一些心得体会了,拿出来大家共享。欢迎批评指正阿!
SQL语句:
是对数据库(数据)进行操作的惟一途径;
消耗了70%~90%的数据库资源;独立于程序设计逻辑,相对于对程序源代码的优化,对SQ ......
Select TOP N * from TABLE Order By NewID()
--Access:
Select TOP N * from TABLE Order By Rnd(ID)
Rnd(ID) 其中的ID是自动编号字段,可以利用其他任何数值来完成,比如用姓名字段(UserName)
Selec ......