导航:首页 > 编程语言 > java调用触发器

java调用触发器

发布时间:2022-09-10 11:23:38

java 不能调用sql的触发器

触发器不是直接调用的,而是DB服务器根据事件触发的。

❷ 如何用java创建触发器

java是应用程序,可以通过jdbc接口调用触发器:
create or replace trigger bj_customer
before update on customer
for each row
begin
update order set
cu_no=:new.cu_no,
cu_name=:new.cu_name,
cu_address=:new.cu_addess,
where cu_no=:old.cu_no;
end;

调用executeUpdate方法即可

❸ 关于mysql中的触发器能调用JAVA吗的搜索推荐

肯定不可以,mysql不能调用java代码,但是可以在java中创建触发器

1.使用SQL创建触发器

DELIMITER$$CREATETRIGGER`catefiles_trigger`AFTERINSERTON`catefiles`FOREACHROWbegin
declarenum1int;setnum1=(selectnumfromest_client_catescan_statuswherecateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId);if(num1>=0)thenupdatecatescan_statussetnum=num1+1wherecateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId;elseinsertcatescan_status(cateid,num,status,taskid,clientid)values(new.cateId,1,0,new.taskid,new.clientId);endif;end$$

2.在Java程序里创建触发器

Stringsql=+"CREATETRIGGERcatefiles_"
+"begin"
+"declarescannumint;"
+"setscannum=(selectnumfromest_client_catescan_statuswhere"
+"cateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId);"
+"if(scannum>=0)then"
+"updatecatescan_statussetnum=scannum+1wherecateid=new.cateIdandtaskid=new.taskIdandclientid=new.clientId;"
+"else"
+"insertcatescan_status(cateid,num,status,taskid,clientid)values(new.cateId,1,0,new.taskid,new.clientId);"
+"endif;"
+"end";
Connectioncon=DbConnectionManager.getConnection();
PreparedStatementpstmt=con.prepareStatement(sql);
pstmt.execute();

3.可以看出区别:在java中创建触发器,不需要限定符DELIMITER ,加上的话执行过程中会报MySQL语法错误

❹ java如何调用MySQL的触发器

触发器顾名思意就是在某个动作执行时自动触发执行的,不用调用,比如你是在add和delete数据时加触发器,只要你定义的对,数据库在向你指定的那张表add和delete数据时,该触发器就会自动触发

❺ 在java里怎么触发sqlserver2000中的触发器啊

触发器是与表及操作相关的。

比如是 A表的INSERT动作时触发。
那么你调用INSERT语句时,触 发器就动作了。不用写监听。

❻ java开发时触发器有什么作用,什么开发场景时会用到

比如说你emp和dept两张表是有外键关联的,当emp存在相关数据时,dept无法删除数据,这时候就可以写个触发器,让他可以删除的同时并对emp表的依赖数据发生变化

❼ 着急!Java怎样调用存诸过程和触发器

其实跟普通的JDBC使用方法是一样的。只不过是用的类不同。给你个例子看看吧。其中的call set_death_age(?, ?)就是存储过程名,变量同样用占位符?代替。
try{
int age = 39;
String poetName = "dylan thomas";
CallableStatement proc = connection.prepareCall("{ call set_death_age(?, ?) }");
proc.setString(1, poetName);
proc.setInt(2, age);
cs.execute(); }
catch (SQLException e){e.printStackTrace();}

❽ 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 procere 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程序,完成了对文件的读写。

❾ 我写了一个触发器,请问在Java里怎样调用

数据库的触发器吗?如果是的话,在你对相应数据表进行增改删操作时,会根据条件来触发的

❿ 在oracle或者db2中写一个触发器来调试java程序,并且压力性能,完大虾们给予赐教

触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TRIGGERS ,USER_TRIGGERS 数据字典中查到。

至于你想在触发器里调试java程序。 我觉得很奇怪~~~~~
如果oracle的触发器都用来调试java程序,那要 eclipse干啥?

阅读全文

与java调用触发器相关的资料

热点内容
隐私与应用加密的图案密码 浏览:34
陈情令王一博解压 浏览:35
c编译器使用说明 浏览:703
郑州前端程序员私活有风险吗 浏览:10
小型螺杆机压缩机 浏览:516
成人解压最好的方法 浏览:48
最小制冷压缩机 浏览:488
xampp支持python 浏览:367
深圳周立功单片机 浏览:60
圆上点与点之间角度算法 浏览:869
怎么知道微信关联了哪些app 浏览:702
android事件驱动 浏览:888
签约大屏系统源码 浏览:808
安卓系统怎么转入平板 浏览:429
安卓手机相机怎么提取文字 浏览:219
如何查看服务器映射的外网地址 浏览:985
图片刺绣算法 浏览:675
阿里云服务器没有实例 浏览:605
绵阳有没有什么app 浏览:849
怎么用游侠映射服务器 浏览:921