SQL触发器实例1
定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序。触发器是一个特殊的存储过程。
常见的触发器有三种:分别应用于Insert , Update , Delete 事件。
我为什么要使用触发器?比如,这么两个表:
Create Table Student( --学生表
StudentID int primary key, --学号
....
)
Create Table BorrowRecord( --学生借书记录表
BorrowRecord int identity(1,1), --流水号
StudentID int , --学号
BorrowDate datetime, --借出时间
ReturnDAte Datetime, --归还时间
...
)
用到的功能有:
1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号);
2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。
等等。
这时候可以用到
相关文档:
触发器实际上就是一种特殊类型的存储过程,其特殊性表现在:它是在执行特定的T-SQL 自动相加的。
触发器分为两类:
&nbs ......
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varch ......
SQL语句的添加、删除、修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来?
添加、删除、修改使用db.Execute(Sql)命令执行操作
╔----------------╗
☆ 数据记录筛选 ☆
╚----------------╝
注意:单双引号的用法可能有误(没有测式)
Sql = "S ......
Random rnd = new Random(unchecked((int)DateTime.Now.Ticks));
int intRandomNumber = rnd.Next();
&nb ......
DATEDIFF(参数一,参数二,参数三) ---参数一:year month day; 参数二:比较的起始日期,默认1900-1-1;参数三:比较的日期。
eg:DATEDIFF(year,0,getdate())表示比较0(默认1900-1-1)到当前的日期想差几年
SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) -- 取得本月的第一天
SELECT DATEADD(wk, D ......