易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL触发器 实例教学


        ... 
      )
     用到的功能有: 
        1.如果我更改了学生的学号,我希望他的借书记录仍然与这个学生相关(也就是同时更改借书记录表的学号); 
        2.如果该学生已经毕业,我希望删除他的学号的同时,也删除它的借书记录。 
     等等。
     这时候可以用到触发器。对于1,创建一个Update触发器:
     Create Trigger truStudent 
       On Student                         --在Student表中创建触发器 
       for Update                          --为什么事件触发 
     As                                        --事件触发后所要做的事情 
       if Update(StudentID)            
       begin
         Update BorrowRecord 
           Set StudentID=i.StudentID 
           from BorrowRecord br , Deleted   d ,Inserted i      --Deleted和Inserted临时表 
           Where br.StudentID=d.StudentID
       end        
     理解触发器里面的两个临时的表:Deleted , Inserted 。注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。 
     一个数据库系统中有两个虚拟表用于存储在表中记录改动的信息,分别是: 
                             虚拟表Inserted                


相关文档:

经典SQL语句大全

一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说 ......

SQL嵌套子查询


      使用子查询的原则
      1.一个子查询必须放在圆括号中。
      2.将子查询放在比较条件的右边以增加可读性。
      子查询不包含 ORDER BY 子句。对一个 SELECT 语句只能用一个 ORDER BY 子句,
&nb ......

利用SQL移动硬盘文件

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_movefile]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_movefile]
GO
/*--移动服务器上的文件
 不借助 xp_cmdshell ,因为这个在大多数时候都被禁用了
--邹建 2004.08(引用请保留此信息)--*/
/*--调用示例 ......

常用SQL语句集合

1、说明:复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1 <>1
法二:select top 0 * into b from a
2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、说明:跨数据库之间表的拷贝(具体数据使用 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号