- 浏览: 1529123 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (516)
- Java (49)
- Java/Struts 2.0 (25)
- Java/Spring、Spring MVC (11)
- Java/Quartz (3)
- Java/Lucene (6)
- Java/Hibernate (19)
- Java/openJPA (7)
- Java/DWR (7)
- Java/Security、Spring Security/OAuth2 (6)
- Java/Threading (9)
- Java/XML (22)
- java/design pattern (4)
- Android (2)
- JavaScript (46)
- jquery (3)
- DB/MySQL (23)
- DB/Oracle (16)
- PHP (25)
- CSS (20)
- Linux (38)
- C/C++、DLL、Makefile、VC++ (31)
- 正则 (9)
- Eclipse (4)
- 安全、网络等概念 (25)
- 集群 (7)
- 网页 (5)
- 视频\音频 (1)
- HTML (6)
- 计算机数学/算法 (3)
- Virtualbox (1)
- LDAP (2)
- 数据挖掘 (6)
- 工具破解 (1)
- 其他 (13)
- Mail (1)
- 药材 (3)
- 游戏 (2)
- hadoop (13)
- 压力测试 (3)
- 设计模式 (3)
- java/Swing (2)
- 缓存/Memcache (0)
- 缓存/Redis (1)
- OSGI (2)
- OSGI/Gemini (0)
- 文档写作 (0)
- java/Servlet (3)
- MQ/RabbitMQ (2)
- MQ/RocketMQ (0)
- MQ/Kafka (1)
- maven (0)
- SYS/linux (1)
- cache/redis (1)
- DB/Mongodb (2)
- nginx (1)
- postman (1)
- 操作系统/ubuntu (1)
- golang (1)
- dubbo (1)
- 技术管理岗位 (0)
- mybatis-plus (0)
最新评论
-
pgx89112:
大神,请赐我一份这个示例的项目代码吧,万分感谢,1530259 ...
spring的rabbitmq配置 -
string2020:
不使用增强器 怎么弄?
OpenJPA的增强器 -
孟江波:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!4 ...
spring的rabbitmq配置 -
eachgray:
...
spring-data-redis配置事务 -
qljoeli:
学习了,楼主,能否提供一份源代码啊,学习一下,十分感谢!!!1 ...
spring的rabbitmq配置
在创建Oracle 触发器的时候需要注意一点,需要触发器的末尾添加上“/”(斜杠),Oracle 是认"/"为触发器的结束符。
CREATE OR REPLACE TRIGGER "T_C_DATA_TR" BEFORE INSERT ON "T_C_DATA_TEMP" FOR EACH ROW when (new."ID" IS NULL) BEGIN SELECT "T_C_DATA_SQ".nextval INTO :new."ID" FROM dual; END /
示例:
create table T_C_DATA ( msisdn VARCHAR2(32), channel_id VARCHAR2(16), time DATE, ua VARCHAR2(64), platform VARCHAR2(20), act VARCHAR2(2), result VARCHAR2(8), province VARCHAR2(4), imsi VARCHAR2(32), imei VARCHAR2(32), app VARCHAR2(64) ); insert into T_C_DATA (MSISDN, CHANNEL_ID, TIME, UA, PLATFORM, ACT, RESULT, PROVINCE, IMSI, IMEI, APP) values ('13606029971', null, to_date('24-05-2011 17:00:35', 'dd-mm-yyyy hh24:mi:ss'), 'NokiaE52-1', '0', '2', '0', '0', '460006006399161', '359327034255640', 'fjdm1.0.0.001.005_CTS60V31_JT'); insert into T_C_DATA (MSISDN, CHANNEL_ID, TIME, UA, PLATFORM, ACT, RESULT, PROVINCE, IMSI, IMEI, APP) values ('13606029971', null, to_date('24-05-2011 17:00:44', 'dd-mm-yyyy hh24:mi:ss'), 'NokiaE52-1', '0', '3', '0', '0', '460006006399161', '359327034255640', null); insert into T_C_DATA (MSISDN, CHANNEL_ID, TIME, UA, PLATFORM, ACT, RESULT, PROVINCE, IMSI, IMEI, APP) values ('13466573225', null, to_date('24-05-2011 17:00:52', 'dd-mm-yyyy hh24:mi:ss'), 'zte-me/mobile', '99', '1', '1', '0', '460020666231846', '351510043766602', null); insert into T_C_DATA (MSISDN, CHANNEL_ID, TIME, UA, PLATFORM, ACT, RESULT, PROVINCE, IMSI, IMEI, APP) values ('15160074046', null, to_date('24-05-2011 17:04:11', 'dd-mm-yyyy hh24:mi:ss'), 'NOKIAN95', '0', '2', '0', '0', '460021600084350', '355501017319672', 'fjdm1.0.0.001.005_CTS60V31_JT'); insert into T_C_DATA (MSISDN, CHANNEL_ID, TIME, UA, PLATFORM, ACT, RESULT, PROVINCE, IMSI, IMEI, APP) values ('15160074046', null, to_date('24-05-2011 17:07:18', 'dd-mm-yyyy hh24:mi:ss'), 'NOKIAN95', '0', '3', '0', '0', '460021600084350', '355501017319672', null); create table T_C_DATA_TEMP ( id number(11), msisdn VARCHAR2(32), channel_id VARCHAR2(16), time DATE, ua VARCHAR2(64), platform VARCHAR2(20), act VARCHAR2(2), result VARCHAR2(8), province VARCHAR2(4), imsi VARCHAR2(32), imei VARCHAR2(32), app VARCHAR2(64), primary key (ID) ); create sequence T_C_DATA_SQ minvalue 1 maxvalue 999999999999999999999999999 start with 1 increment by 1 cache 20; CREATE OR REPLACE TRIGGER "T_C_DATA_TR" BEFORE INSERT ON "T_C_DATA_TEMP" FOR EACH ROW when (new."ID" IS NULL) BEGIN SELECT "T_C_DATA_SQ".nextval INTO :new."ID" FROM dual; END; / ---如果把这个斜杠去掉,在创建或修改触发器的时,会认为后面的SQL命令还是属于当前这个触器。 rename T_C_DATA to T_C_DATA_BK2 ; rename T_C_DATA_TEMP to T_C_DATA ; CREATE OR REPLACE TRIGGER "T_C_DATA_TR" BEFORE INSERT ON "T_C_DATA" FOR EACH ROW when (new."ID" IS NULL) BEGIN SELECT "T_C_DATA_SQ".nextval INTO :new."ID" FROM dual; END ; INSERT INTO T_C_DATA (msisdn,channel_id,time,ua,platform,act,result,province,imsi,imei,app) SELECT bk2.msisdn,bk2.channel_id,bk2.time,bk2.ua,bk2.platform,bk2.act,bk2.result,bk2.province,bk2.imsi,bk2.imei,bk2.app FROM T_C_DATA_BK2 bk2; commit
发表评论
-
oracle的split函数(转)
2014-03-14 00:06 2139--声明的长度要长点 create or replace ... -
使用Ubuntu的oracle问题
2012-09-26 21:50 7541、在oracle用户用使用dbca命令后出现No p ... -
oracle 多表删除 同时删除多表中关联数据
2012-09-19 16:30 5399DELETE from COMIC_ANIMATION_ENT ... -
面试时 遇到一个数据库SQL 成绩排名
2012-07-17 09:55 10391、累积排名 SELECT NAME ... -
ORA-12519: TNS:no appropriate service handler found 解决
2012-06-07 11:37 889转自:http://www.cnblogs.com/ungsh ... -
Oracle 删除外键约束 禁用约束 启用约束
2012-04-23 12:39 1120执行以下sql生成的语句即可 删除所有外键约束 selec ... -
pl/sql developer中关于TIMESTAMP显示格式的疑问和学习
2012-04-03 18:01 1972ORACLE中的TIMESTAMP数据类 ... -
Oracle 时间戳 触发器
2012-03-23 00:36 3612create table time_test( ... -
Oracle SQL 函数
2012-03-02 09:25 918NVL(expr1,expr2) 如 ... -
Oracle SQL 编码
2012-03-01 17:32 1795一、分隔符 (1) 单符号分隔符 ... -
Oracle SQL 变量
2012-03-01 08:50 6002一、定义标题变量 当编写PL/SQL程序 ... -
Oracle SQL 学习
2012-02-29 14:57 895一、创建 存储过程 的方法: ... -
ubuntu 11.04 安装 oracle 10g Enterprise Edition 错误信息
2012-02-23 22:10 2630网上下了个zip版的 , ... -
SQL 分组统计 两个字段 行转列
2012-02-08 17:20 4148select c.MRL,c.OPERATION_ID,c. ... -
Oracle 去掉重复字符串
2011-06-02 16:29 4133砝码 create or replace function ... -
在Navicate中使用 提示输入 方式输入SQL的参数。
2011-03-01 17:56 972select [$输入A] 输入参考: sele ... -
高效删除Oracle数据库中重复数据的方法
2010-08-17 10:58 1150转自:http://www.builder.com.cn/20 ...
相关推荐
【Oracle触发器的创建与使用】是数据库管理中不可或缺的一部分,尤其在Oracle数据库系统中,触发器扮演着关键角色。触发器是一种存储过程,当特定的数据库事件发生时(如INSERT、UPDATE或DELETE操作),它会被自动...
调试Oracle触发器是开发和维护数据库应用程序时的重要步骤,可以帮助我们找出潜在的错误和逻辑问题。下面我们将详细探讨如何调试Oracle触发器。 1. **PL/SQL Developer工具调试**: - PL/SQL Developer是一款强大...
总之,"Oracle触发器实时调用Java中HTTP接口"是一个数据库与应用程序实时通信的示例,涉及Oracle的触发器、存储过程和UTL_HTTP包,以及Java HTTP服务器的设计和实现。这样的设计需要对Oracle PL/SQL和Java网络编程有...
### Oracle触发器Before和After应用详解 #### 引言 Oracle数据库系统中,触发器是一项核心功能,用于响应特定事件的自动执行代码块。本文旨在深入解析Oracle触发器中的Before和After两种触发时机,以及它们在...
Oracle触发器调用Java程序 Oracle触发器是Oracle数据库中的一种机制,可以在数据库中执行特定的操作。在本文中,我们将介绍如何使用Oracle触发器调用Java程序。 一、加载Java程序 首先,我们需要将Java程序加载到...
"oracle触发器的种类和触发事件" Oracle触发器是一种特殊的存储过程,它可以在数据库中自动执行一些操作,主要用于实现数据的完整性、数据的安全性和业务逻辑的实现。触发器可以分为四种类型:DML触发器、DDL触发器...
《Oracle触发器与存储过程高级编程》第3版是一本深入探讨Oracle数据库中触发器和存储过程技术的专业书籍。在Oracle数据库系统中,触发器和存储过程是数据库管理员和开发人员进行复杂业务逻辑处理和数据管理的重要...
oracle 创建序列 完整步骤
Oracle触发器是数据库管理系统中的一种特殊程序,它与数据库表的操作紧密相关,可以在特定的数据操作事件(如INSERT、UPDATE或DELETE)发生时自动执行。在本实验报告中,主要涉及了Oracle触发器与参照完整性约束的...
在Oracle 8i环境下,虽然无法直接在系统级别创建`TRUNCATE`触发器,但仍然可以创建`DROP`触发器来保护数据库表。 #### 创建触发器脚本 ```sql CREATE OR REPLACE TRIGGER TRIGGER_UNDROPTABLE BEFORE DROP ON ...
例如,在员工表中,我们可以创建一个触发器来自动分配员工编号: ```sql create trigger auto_assign_employee_id before insert on employees for each row begin select seq_employee_id.nextval into :new....
在这个“oracle触发器的创建和跨数据库查询”的主题中,我们将深入探讨如何创建触发器以及如何利用数据库链接(DB Link)进行跨数据库查询和操作。 首先,让我们了解如何创建Oracle触发器。触发器的创建通常涉及...
在深入探讨如何利用Oracle触发器备份表数据之前,我们首先需要理解几个关键概念:Oracle数据库、触发器以及备份策略。Oracle数据库是全球领先的数据库管理系统之一,以其强大的性能、可靠的安全性和丰富的功能受到...
Oracle触发器是数据库对象之一,它在特定的数据库操作(如INSERT、UPDATE或DELETE)发生时自动执行。触发器主要用于实现复杂的业务规则和数据验证,它们可以扩展SQL的功能,允许在数据修改前后执行一系列的动作。...
### Oracle触发器语法要点 #### 一、触发器概述 Oracle触发器是一种存储过程,它在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器可以用于实施复杂的业务规则、数据完整性检查或者自动生成...
总之,“Oracle触发器与存储过程高级编程”是数据库开发中的重要技能,理解它们的工作原理、如何创建和使用,以及何时应该避免使用,对于提升数据库管理效率和数据安全性至关重要。通过实践和学习,你可以更好地掌握...
在深入探讨《Oracle触发器与存储过程高级编程》这一主题之前,我们首先应当明确Oracle数据库在企业级应用中的核心地位。Oracle数据库以其强大的数据处理能力、高可用性和安全性,成为众多大型企业和组织首选的数据...
接下来,我们可以创建一个Oracle触发器来调用这个Java方法。例如,每当在表`MY_TABLE`上执行INSERT操作时,触发器会调用`MyJavaClass.doSomething`方法处理新插入的数据: ```sql CREATE OR REPLACE TRIGGER my_...
以下是一个具体的触发器创建示例: ```sql CREATE OR REPLACE TRIGGER biu_emp_deptno BEFORE INSERT OR UPDATE OF deptNo ON Emp FOR EACH ROW WHEN (New.deptNo <> 40) BEGIN :New.comm := 0; END; / ``` 在这...
Oracle 创建触发器是一种数据库编程技术,用于在特定的数据库事件发生时自动执行一段代码。在这个实例中,我们看到的是一个防止非本地机器执行DDL(Data Definition Language)操作的触发器,比如`TRUNCATE`、`ALTER...