触发器java代码实现 触发器例子

JAVA用代码操作数据库创建表,视图,触发器,存储过程等。

create

创新互联主要从事成都网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务长子,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

or

replace

trigger

trg_delete_count

before

delete

on

student

for

each

row

begin

delete

from

成绩表

where

成绩表.学号=:old.学号;

commit;

end;

想要实现类似的功能,不一定要用触发器的,可以设置两个表的主键和外键,设置级联删除关系,删除主键时,外键表中的记录也会自动删除。

用Java代码创建Oracle触发器要怎么实现

create or replace and compile java source named TestClass as

public class TestClass

{

public static String getName(String name) {

String name = "xoxo";

return name " with TTTT";

}

}

然后在触发器中调用:

create or replace trigger TRI_TEST before delete or update or insert on TABLENAME for each row

declare name varchar2(20);

begin

if inserting then

FUNCTION getName( who VARCHAR2 ) RETURN VARCHAR2 IS LANGUAGE JAVA NAME TestClass.getName(java.lang.String) return String';

end if;

end;

oracle触发器调用一个Java类

把JAVA程序LOAD进oracle

在$ORACLE_HOME/bin目录下有个LOADJAVA命令,使用这个命令将刚写好的JAVA程序LOAD进数据库。

loadjava -user test/test@test -o -v -f -r Main.java

如果成功的话,会打印出来信息提示成功,若程序有编译错误的话,也会提示你错误的地方。

3。修改权限

因为我的这个JAVA程序里涉及到对文件的读写操作,所以要先修改权限。

首先以管理员身份登录进数据库

sqlplus / as sysdba

然后执行

begin

dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/var/spool/cron/oracle','read,write,execute,delete');

end;

/

执行完毕后,在数据库里执行上述JAVA程序时,就拥有读写该文件的权限了。

4。创建存储过程

进入到数据库,我是在SQLPLUS命令行

create or replace procedure Modify(name varchar2) as language java name 'Main.modify(java.lang.String)';

/

会提示创建存储过程成功。

5。增加trigger

我是在TOAD里直接针对某个表增加trigger,所以我只写出关键部分的代码

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

至此,在ORACLE的trigger里调用JAVA程序就完成了,后来的实验证明,每当更新这个表时,都确实执行了该JAVA程序,完成了对文件的读写。

oracle 中用触发器 怎么实现 一个表格只要插入了数据,。,就执行相应的java 代码或者jsp代码呀?

首先将你的java代码放在数据库里:例如

create or replace and compile java source named TestClass as

public class TestClass

{

public static String getName(String name) {

String name = "xoxo";

return name+" with TTTT";

}

}

然后在触发器中调用:

create or replace trigger TRI_TEST before delete or update or insert on TABLENAME for each row

declare name varchar2(20);

begin

if inserting then

FUNCTION getName( who VARCHAR2 ) RETURN VARCHAR2 IS LANGUAGE JAVA NAME TestClass.getName(java.lang.String) return String';

end if;

end;

如何oracle数据更新时触发java代码

oracle数据更新时触发java代码的步骤如下:

1。编写JAVA程序

public class Main {  

public static void modify(String statTime)  

{  

String datas = "/var/spool/cron/oracle";  

File data = new File(datas);  

StringBuffer backup = null;  

try {  

StringBuffer content = new StringBuffer();  

backup = new StringBuffer();  

BufferedReader san = new BufferedReader(new FileReader(data));  

String line = null;  

while((line=san.readLine())!=null)  

{  

backup.append(line);  

backup.append("/n");  

}  

content.append("15 ");  

content.append(statTime.trim());  

content.append(" * * * /home/oracle/task.sh");  

content.append("/n");  

content.append("13 ");  

content.append(statTime.trim());  

content.append("* * * /home/oracle/tj_task/task2.sh");  

content.append("/n");  

FileWriter writer = new FileWriter(data,false);  

writer.write(content.toString());  

writer.flush();  

} catch (FileNotFoundException e) {  

e.printStackTrace();  

} catch (IOException e) {  

try  

{  

FileWriter writer = new FileWriter(data,false);  

writer.write(backup.toString());  

writer.flush();  

}catch(Exception ex)  

{  

ex.printStackTrace();  

}  

}  

}  

}

注意,这里写JAVA程序不需要遵循标准的JAVA程序,一定要有main入口函数,相反,这里的函数一般不要取名为main,除非格式是标准的main 函数格式

2。把JAVA程序LOAD进oracle

在$ORACLE_HOME/bin目录下有个LOADJAVA命令,使用这个命令将刚写好的JAVA程序LOAD进数据库。

loadjava -user test/test@test -o -v -f -r Main.java

如果成功的话,会打印出来信息提示成功,若程序有编译错误的话,也会提示错误的地方。

3。修改权限

首先以管理员身份登录进数据库

sqlplus / as sysdba

然后执行

begin

dbms_java.grant_permission('TEST','SYS:java.io.FilePermission','/var/spool/cron/oracle','read,write,execute,delete');

end;

/

执行完毕后,在数据库里执行上述JAVA程序时,就拥有读写该文件的权限了。

4。创建存储过程

进入到数据库,在SQLPLUS命令行

create or replace procedure Modify(name varchar2) as language java name 'Main.modify(java.lang.String)';

/

会提示创建存储过程成功。

5。增加trigger

TOAD里直接针对某个表增加trigger,所以关键部分的代码

begin

if :old.name = 'time' then

Modify(:new.value);

end if;

end;

JAVA如何实现代码提示?

实现方法请具体参照《Eclipse swt/Jface核心编程》

第21章 文本处理.

21.1 文本处理概述... 409

21.2 项目实战:JavaScript编辑器... 409

21.2.1 主窗口预览... 409

21.2.2 项目文件结构... 410

21.3 主窗口模块... 411

21.3.1 代码实现... 411

21.3.2 主窗口程序代码分析... 414

21.3.3 启动主窗口程序... 416

21.4 代码着色... 417

21.4.1 源代码配置类(SourceViewerConfiguration)... 417

21.4.2 基于规则的代码扫描器类(RuleBasedScanner)... 419

21.4.3 设置代码扫描规则... 420

21.4.4 提取类(Token)和文本属性类(TextAttribute)... 423

21.5 内容辅助... 423

21.5.1 配置编辑器的内容助手... 424

21.5.2 内容辅助类... 424

21.5.3 辅助建议类(CompletionProposal)... 426

21.6 文档的撤销与重复... 427

21.6.1 文档管理器对象(DefaultUndoManager)... 427

21.6.2 撤销操作的实现... 427

21.6.3 恢复操作的实现... 428

21.7 查找与替换窗口... 429

21.7.1 窗口的界面设计... 429

21.7.2 查找功能的实现... 433

21.7.3 替换功能的实现... 434

21.8 首选项的对话框... 434

21.8.1 首选项页面的代码实现... 435

21.8.2 打开首选项页面的代码... 436

21.9 文件的打开、保存与打印... 437

21.9.1 打开文件... 437

21.9.2 保存文件... 437

21.9.3 打印文件... 438

21.10 帮助对话框... 439

21.11 其他的一些工具类... 440

21.11.1 事件管理类... 440

21.11.2 资源管理类... 441

21.11.3 程序中使用的常量... 443

21.12 本章小结... 444


分享标题:触发器java代码实现 触发器例子
本文网址:http://azwzsj.com/article/hhggdp.html