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

推荐订阅源

Engineering at Meta
Engineering at Meta
博客园_首页
J
Java Code Geeks
Jina AI
Jina AI
B
Blog RSS Feed
量子位
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
小众软件
小众软件
博客园 - 聂微东
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 三生石上(FineUI控件)
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog
I
InfoQ
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
爱范儿
爱范儿
Y
Y Combinator Blog
Vercel News
Vercel News
雷峰网
雷峰网

博客园 - 血狼

切换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;