惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
C
Check Point Blog
B
Blog RSS Feed
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
A
About on SuperTechFans
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 聂微东
阮一峰的网络日志
阮一峰的网络日志
人人都是产品经理
人人都是产品经理
小众软件
小众软件
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
GbyAI
GbyAI
The Cloudflare Blog
博客园 - 叶小钗
S
SegmentFault 最新的问题
博客园 - Franky
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
B
Blog
Jina AI
Jina AI

博客园 - 血狼

切换ThinkPad Fn键 window.event.keycode值大全 通用分页存储过程 Oracle中将密码有效期由默认的180天修改成“无限制” C#中动态编译某C#文件 C#程序中执行script .Net Reactor 加密的简单例子 MSBuild的相关操作 程序中执行cmd.exe 使用c#捕获Windows的关机事件 北京嘉纳博科技有限公司 Windows Service 初始化代码中追加断点问题 C#定时执行某个程序 .Net中关于多个FrameWork的问题 Chilkat 收、送信 合并文件 设置和获取注册表数据 DotNet多个程序集合并工具 PostGres 全文检索
PostGres 中包含触发器的方法
血狼 · 2007-11-29 · via 博客园 - 血狼

 1 -- Function: "RaiseItemChangedEvent"()
 2 
 3 -- DROP FUNCTION "RaiseItemChangedEvent"();
 4 
 5 CREATE OR REPLACE FUNCTION "RaiseItemChangedEvent"()
 6   RETURNS "trigger" AS
 7 $BODY$DECLARE
 8     itemType   SMALLINT;
 9     actionType SMALLINT;
10 --  itemId VARCHAR;
11 BEGIN
12   itemType := TG_ARGV[0];
13   IF tg_op = 'INSERT' THEN
14 --    itemId = new."Id";
15     actionType := 1;
16     INSERT INTO m_events(
17           "Id""ItemId""ItemType""ActionType","CreateDate")
18     VALUES (nextval('seq_eventid'), new."Id", itemType, actionType,'now');
19     RETURN new;
20   ELSIF tg_op = 'UPDATE' THEN
21     actionType := 2;
22     INSERT INTO m_events(
23           "Id""ItemId""ItemType""ActionType","CreateDate")
24     VALUES (nextval('seq_eventid'), new."Id", itemType, actionType,'now');
25     RETURN new;
26   ELSIF tg_op = 'DELETE' THEN     
27     actionType := 3;
28     INSERT INTO m_events(
29           "Id""ItemId""ItemType""ActionType","CreateDate")
30     VALUES (nextval('seq_eventid'), old."Id", itemType, actionType,'now');
31     RETURN new;
32   END IF;  
33 END;$BODY$
34   LANGUAGE 'plpgsql' VOLATILE;
35 ALTER FUNCTION "RaiseItemChangedEvent"() OWNER TO testuser;