导航:首页 > 编程语言 > 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调用触发器相关的资料

热点内容
编译器原理与实现书 浏览:708
dos选择命令 浏览:16
apm固件编译到单片机 浏览:120
联通深蓝卡都包含什么app 浏览:263
如何判断网络服务器正常 浏览:649
路由器搭桥远端服务器地址是什么 浏览:515
编译动态库时会连接依赖库吗 浏览:707
淘宝手机加密是随机的吗 浏览:672
解压包子怎么装饰 浏览:585
四个数凑24算法 浏览:676
哪一种不是vi编译器的模式 浏览:169
xp在此处打开命令窗口 浏览:128
代码编译运行用什么软件 浏览:998
动态库在程序编译时会被连接到 浏览:761
python超简单编程 浏览:260
获取命令方 浏览:977
怎样制作文件夹和图片 浏览:60
调研编译写信息 浏览:861
python冯诺依曼 浏览:419
同时安装多个app有什么影响 浏览:254