zoukankan      html  css  js  c++  java
  • 三个SQL Server 数据库触发器的例子[原创]

    之前搞软件都是用Oracle的数据库,前段时间给其他部门做的一个文档管理系统,用的是SQL Server 2000的数据库,跟Oracle有些区别。

    下面是两个SQL 2000的触发器的例子!

    说明:

    Add User的作用:当添加一个用户时自动添加用户信息页面!

    Delete User的作用:当删除一个用户时,所有该用户相关的用户规则均会被删除

    Delete Function的作用:当删除一项系统功能时自动清除用户规则中所有与该规则相关的记录

    1 --Add User
    2  If Exists(Select Name From sysobjects Where Name='AddUserInfoPage' And Type='TR')
    3  Drop Trigger AddUserInfoPage
    4  GO
    5
    6 Create Trigger AddUserInfoPage on Users
    7 for Insert
    8 as
    9 Declare @UserID Int
    10 Declare @FunctionID Int
    11 If Exists(Select * From Functions Where FunctionPage='UserPanel.aspx')
    12 Begin
    13 Select @UserID=[ID] From Inserted
    14 Select @FunctionID= [ID] From Functions Where FunctionPage='UserPanel.aspx'
    15 Insert Into UserRoles(UserId,FunctionID,[Description]) Values(@UserID,@FunctionID,'用户信息')
    16 End
    17 GO
    18
    19 --Delete User
    20 If Exists(Select Name From sysobjects Where Name='DeleteUserFunctions' And Type='TR')
    21 Drop Trigger DeleteUserFunctions
    22 GO
    23
    24 Create Trigger DeleteUserFunctions on Users
    25 After Delete
    26 as
    27 Declare @UserID Int
    28 If Exists(Select * From UserRoles Where UserID=(Select [ID] From Deleted))
    29 Begin
    30 Select @UserID=[ID] From Deleted
    31 Delete From UserRoles Where UserID=@UserID
    32 End
    33 GO
    34
    35 --Delete Function
    36 If Exists(Select Name From sysobjects Where Name='DeleteFunction' And Type='TR')
    37 Drop Trigger DeleteFunction
    38 GO
    39
    40 Create Trigger DeleteFunction on Functions
    41 After Delete
    42 as
    43 Declare @FunctionID Int
    44 If Exists(Select * From UserRoles Where FunctionID=(Select [ID] From Deleted))
    45 Begin
    46 Select @FunctionID=[ID] From Deleted
    47 Delete From UserRoles Where FunctionID=@FunctionID
    48 End
    49 GO
    50
  • 相关阅读:
    第一课基础知识
    Linux基础命令
    IO&Process基础知识
    caffe-windows 运行matlab 接口的例子
    process 3d image using caffe
    caffe-windows配置 cuda6.5+vs2012
    cuda7.0安装windows+vs2012
    SGD步长
    Exercise: Convolutional Neural NetworkCNN的反向求导及练习
    Create sparse matrix:sparse
  • 原文地址:https://www.cnblogs.com/mic86/p/1803705.html
Copyright © 2011-2022 走看看