易截截图软件、单文件、免安装、纯绿色、仅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)   一个表Table_1  有两个字段  
          id       number,  
          name   varchar2(7)  
  & ......

将表数据生成SQL脚本的存储过程

CREATE PROCEDURE dbo.UspOutputData
@tablename sysname
AS
declare @column varchar(1000)
declare @columndata varchar(1000)
declare @sql varchar(4000)
declare @xtype tinyint
declare @name sysname
declare @objectId int
declare @objectname sysname
declare @ident int
set nocount on ......

sql数据导入导出

大家打开这个链接可以看到很多数据库的连接方法。http://www.connectionstrings.com
这些数据库之间的数据交换就是这个贴子所要总结的内容。
(一)SQL Server之间
把远程数据库中的数据导入到本地数据库。
http://community.csdn.net/Expert/topic/5079/5079649.xml?temp=.7512018
http://community.csdn.net/Expert/ ......

生成表中数据的sql语法的存储过程

      一般用BCP在处理这个事情,但有时也需要一些特殊的处理,以下是生成表中的一些数据,带有where条件的选择生成数据,是我一个同事修改的,直接拿过来用了:
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
Create Proc proc_insert_where (@tablename varchar(256),@where varchar(256 ......

SQL/PLUS



4.数据类型转换函数
   ●隐式转换
     赋值时可进行的隐式转换有
       VARCHAR2或CHAR —〉NUMBER
       VARCHAR2或CHAR —〉DATE
       NUMBER —〉VARCHAR ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号