当前位置: 代码迷 >> PB >> ASA触发器怎么快速获取新增加行的信息
  详细解决方案

ASA触发器怎么快速获取新增加行的信息

热度:40   发布时间:2016-04-29 06:43:36.0
ASA触发器怎样快速获取新增加行的信息
本帖最后由 jiang396 于 2013-05-27 15:27:43 编辑
ms sql里面的对于新增加的行(如logid),可以用一个inserted来获得,请问ASA中怎样获得新增加行(然后找到logid字段)
CREATE TRIGGER trig_users_insert
ON users
FOR INSERT
BEGIN
INSERT INTO UserRight(LogID, ResID)
SELECT Inserted.LogID, Resources.ResID                   //inserted   
FROM Inserted, Resources                                 //inserted系统逻辑表
ORDER BY LogID, ResID
END
GO


mssql中的解释:Inserted 表用于存储INSERT 语句所影响的行的副本。在一个插入或更新事
务处理中,新建行被同时添加到Innserted 表和触发器表中。Inserted 表中的行是触发器表中
新行的副本。------对应asa中是哪个系统逻辑表????

------解决方案--------------------
触发器

目标 
1、定义触发器 
2、解释触发器的使用 
3、讨论使用触发器的优点 
4、列出并说明Adaptive Server Anywhere所支持的四类触发器 
5、Adaptive Server Anywhere所支持的两种触发器激发时机是什么? 
6、触发器的结构 
7、建立触发器 


内容 
1、触发器 
2、触发器的使用 
3、触发器的类型 
4、触发器的实现 

定义触发器
1、它是服务器方的编程,用以制约数据完整性 
2、它由SQL及流程扩展语句构成 
类似于存储过程 
3、是自动执行的 
4、与引发它的事务一起被提交或回滚的 
5、继承着该表建立者的权限 

触发器的用途 
1、利用触发器能实现: 
A>;对DDL而言过分复杂的数据数据完整性规划 
B>;在数据项间存在逻辑关系的业务规划 
C>;自动进行数值修改 
D>;审计 

制约数据完整性 
1、触发器支持 
A>;声明参照完整性 
B>;缺省值 
C>;NOT NULL 约束 
D>;CHECK 条件 
E>;主键 


触发器的优点 
1、独立于客户应用对数据库的访问 
2、标准化 集中于中央位置实现各种规则 
3、高效性 编码是已编译的 
4、安全性 用户和应用无法回避触发器 


触发器的类型 
1、事件驱动的—当发生如下事件时可自动激发触发器 
插入 
删除 
更新 当任何一列被更新都激发 
列更新 仅当特定的列被更新时才激发它 

触发器作用范围和时间 
1、行级触发器 在每行之前或之后 
2、语句级触发器 在整个操作完成之后 
3、可激发同类型的多个触发器 
一下子全部激发 按特定的次序来激发 

建立触发器 
  相关解决方案