星空网 > 软件开发 > ASP.net

Atitit.设计模式

Atitit.设计模式-----触发器模式 trigger  详解

1. 触发器概念1

1.1. 触发器位置 after|before|instead of1

2. 数据库里面的触发器1

2.1. old和:new1

2.2. INSTEAD OF 触发器 after|before|instead of2

3. 基于业务的 触发器2

3.1. Trgger的定义 $trigger  $triggerPos2

3.2. Trigger的使用3

4. ref4

 

1. 触发器概念

 

1.1. 触发器位置 after|before|instead of

业务模块里面的触发器,web url里面的before就是对req参数做操作。After是对rows做操作。

2. 数据库里面的触发器

2.1. old和:new

在Oracle中用:old和:new表示执行前的行,和执行后的行。

在MySQL中用old和new表示执行前和执行后的数据。

 

 

这样在技术上处理(NEW | OLD . column_name)新和旧

 

的列名属于创建了过渡变量("transition variables")。

 

对于INSERT语句,只有NEW是合法的;对于DELETE语句,只有OLD才合法;而UPDATE语句可以在和NEW以及

 

OLD同时使用。

作者::  ★(attilax)>>>   绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙,  EMAIL:1466519819@qq.com

转载请注明来源: http://www.cnblogs.com/attilax/

 

2.2. INSTEAD OF 触发器 after|before|instead of

 

INSTEAD OF 触发器用来代替通常的触发动作,即当对表进行INSERT、UPDATE 或 DELETE 操作时,系统不是直接对表执行这些操作,而是把操作内容交给触发器,让触发器检查所进行的操作是否正确。如正确才进行相应的操作。因此,INSTEAD OF 触发器的动作要早于表的约束处理。
 

AFTER 触发器定义了对表执行了 INSERT、UPDATE 或 DELETE 语句操作之后再执行的操作。比如对某个表中的数据进行了更新操作后,要求立即对相关的表进行指定的操作,这时就可以采用 AFTER 触发器。AFTER 触发器只能在表上指定,且动作晚于约束处理

 

3. 基于业务的 触发器

3.1. Trgger的定义 $trigger  $triggerPos

function btn_click()

{

var ds=new dataService();

ds.merge_after_goto_url="../cust/goods/copy/list?envi=cp";

ds.merge("$tb=wxb_good_copy&$trigger=com.attilax.dataService.meta_data_pars_from_txt_trigger&$trigtime=after");

}

 

public class meta_data_pars_from_txt_trigger extends Trigger {

 

public static void main(String[] args) {

// TODO Auto-generated method stub

 

}

public Object exec(Object object) {

Map row=(Map) object;

String txt= htmlx.html2txtV2( row.get("copy_content").toString());

Map part = new RowParser().parse(txt);

row.putAll(part);

return null;

// String txt=(String) object;

 

}

 

}

3.2. Trigger的使用

 * DataService

 * @author Administrator

 *

 */

public class UrlDsl2SqlStoreService

Trigger trigr;

 

if(req.getParameter("$trigger")!=null)   //p319

{

String tiggerName=req.getParameter("$trigger");

    Object trigger= IocXq214.getBean(tiggerName);

    this.trigr=(Trigger) trigger;

}

 

 

 

if(m.get("$trigger")!=null && m.get("$triggerPos").equals("after") )

{

   Trigger o=  IocXq214.getBean(m.get("$trigger").toString());

   rows=  o.exec(rows);

}

return rows;

 

}

4. ref

atitit...触发器机制 ltrigger mechanism sumup .的总结O8f - attilax的专栏 - 博客频道 - CSDN.NET.htm

 

 




原标题:Atitit.设计模式

关键词:设计模式

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

新西兰快递:https://www.goluckyvip.com/tag/44208.html
选品雷区:https://www.goluckyvip.com/tag/4421.html
新西兰物流:https://www.goluckyvip.com/tag/44210.html
新西兰小包:https://www.goluckyvip.com/tag/44211.html
新西兰专线:https://www.goluckyvip.com/tag/44212.html
新乡跨境电子商务协会:https://www.goluckyvip.com/tag/44214.html
瑞典VAT税号的有效期是多久?:https://www.xlkjsw.com/news/91234.html
哪些可以帐篷的景点 哪些地方可以搭帐篷:https://www.vstour.cn/a/407244.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流