mysql存储过程及(java调用)

create procedure DeleteDataByPdfDocId
(
   IN pdfDocId varchar(100)
)
BEGIN
#根据pdfDocId删除数据
DELETE FROM pdf_formula WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_image WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_table WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_paragraph WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_addendum_section WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_addendum_chapter WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_addendum WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_section WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_backcover WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_catalog WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_chapter WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_coverpage WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_descriptioin_info WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_foreword WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_introduction WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_maintext WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_modify_details WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_reference_doc WHERE PDF_DOCID = pdfDocId ;
DELETE FROM standard_formal_catalogstructure WHERE PDF_DOCID = pdfDocId ;
DELETE FROM standard_formal_element WHERE PDF_DOCID = pdfDocId ;
DELETE FROM standard_samples_notes WHERE PDF_DOCID = pdfDocId ;
DELETE FROM pdf_document WHERE id = pdfDocId;
DELETE FROM lkstcs_operations_log WHERE PDF_DOCID = pdfDocId;
DELETE FROM standard_complie_record WHERE PDF_DOCID = pdfDocId ;
END
create procedure UpdatePdfElementStdNo
(
   IN stdNo varchar(1000),
   IN oldStdNo varchar(1000)
)
BEGIN
#更新标准号
UPDATE pdf_addendum SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_addendum_chapter SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_addendum_section SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_backcover SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_catalog SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_chapter SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_coverpage SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_descriptioin_info SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_foreword SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_formula SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_image SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_introduction SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_maintext SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_modify_details SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_paragraph SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_reference_doc SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_section SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_table SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE standard_formal_catalogstructure SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE standard_formal_element SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE pdf_document SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
UPDATE standard_complie_record SET STANDARD_NO = stdNo WHERE STANDARD_NO = oldStdNo;
END

以上两段代码为更新和删除数据的存储过程,

调用:

public void update(String sNo1, String sNo2) {

String updateSQL= "{call UpdatePdfElementStdNo(?,?)}";//存储过程的名字

getSession().createSQLQuery(updateSQL).setString(0, sNo1).setString(1, sNo2).executeUpdate();

}

时间: 2024-11-10 09:53:42

mysql存储过程及(java调用)的相关文章

MySQL存储过程定义及调用

#MySQL存储过程 ##最简单的存储过程 DROP PROCEDURE IF EXISTS sp1; CREATE PROCEDURE sp1() COMMENT '最简单的存储过程' SELECT 1; ##调用 CALL sp1 (); ##带输入参数的存储过程 DROP PROCEDURE IF EXISTS sp2; CREATE PROCEDURE sp2(IN p INT) COMMENT '带输入参数的存储过程' SELECT p; ##调用 CALL sp2(1); #带输出参

oracle存储过程及Java调用

初次研究出bug的地方非常多,所以注意点非常多,花了我三天时间除尽所有bug,我会把注意点都列出来,可能有落下的地方,还请多指正,相互探讨. 首先上最终测试成功版存储过程代码:(里面代码可能不尽对你都有用,借鉴参考吧,我全贴出来也是为了我以后好查) 说一下jar包用的是ojdbc14.jar,至于什么class12.jar.ojdbc6.jar啊应该都可以,只要一种就可以了. 说说我的需求,以便让大家更顺利的看懂我的代码,我的需求是:存储过程从Java端接收两个参数userid(用户)和topi

plsql知识梳理-存储过程和java调用

1 存储过程介绍 存储过程是指用于特定操作的pl/sql块,是由流控制和sql语句书写的过程.         存储过程经编译和sql优化后存储在数据库服务器中,使用时候只需要调用即可. 2 存储过程的优点 1 使用存储过程,可以实现存储过程设计和编码工作分开进行,只要将存储过程名,参数,以及返回信息告诉编码人员即可. 2 使用存储过程可以减少sql注入式攻击,提供系统的安全性. 3 执行存储过程的用户要具有一定的权限才能使用存储过程.没有数据操作权限的用户只能在系统控制下间接的存取数据. 4

mysql存储过程和定时调用

1.创建存储过程 1 create procedure proc_name() 2 begin 3 sql; 4 end sql为定时值执行的代码,比如,定时向表里插入当前时间:INSERT into table(times) VALUES(NOW());:然后通过事件调度来定时执行该存储过程. 2.创建触发事件 1 create event if not exists event_name 2 on schedule every 30 second 3 on completion preser

mysql 存储过程--- 创建,调用,删除

DELIMITER //CREATE PROCEDURE p_addscore(nums INT,OUT retrows INT)BEGINDECLARE i INT DEFAULT 0;add_loop:LOOP IF i >= nums THEN LEAVE add_loop; END IF; INSERT s_musicscore (ssid,uid,score,ctime,stype) VALUES(17,UUID(),8,UNIX_TIMESTAMP(),1); SET i=i+1;E

mybatics 中调用mysql存储过程。

说起mybatics 框架,身边的java开发工程师们基本上都是耳熟能详. mybatics是apache的一个开源项目,前身为ibatics,2010年此项目由apache软件基金会迁移到了google code,mybatics的确是一款十分优秀的开源持久层框架,sql代码隔离封装.自动POJO映射.jdbc 动态sql---- mybatics的好处可以说出一箩筐,然而mybatics还有一个十分优秀的特性却往往被人忽略 ----那就是mybatics还支持存储过程的调用. 不熟悉存储过程

MySQL之存储过程创建和调用

一.MySQL存储过程_创建-调用 1.1存储过程:SQL中的"脚本"1.创建存储过程2.调用存储过程3.存储过程体4.语句标签块 二.MySQL存储过程简单介绍: 存储过程(Stored Procedure):提示:#SQL语句:先编译后执行 一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行. 优点(为什么要用存储过程?): ①将重复性很高的一些操作,封装到一个存储过程中,简化了对这些SQL的调

JAVA调用mysql存储过程noAccessToProcedureBodies错误

问题:在JAVA中调用MYSQL存储过程遇到以下报错: java.sql.SQLException: User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have dri

Java调用MySQL存储过程

Java调用MySQL的存储过程,需要用JDBC连接,环境eclipse 首先查看MySQL中的数据库的存储过程,接着编写代码调用 mysql> show procedure status; +------+-------------+-----------+----------------+---------------------+---------------------+---------------+---------+----------------------+----------

mybatis调用mysql存储过程返回结果集

存储过程中经常需要返回结果集. Mysql 中直接用 select 即可返回结果集.而 oracle 则需要使用游标来返回结果集.这一点 Mysql 相对比较方便,如下代码即可实现输出结果集: 存储过程定义: DELIMITER $$ DROP procedure IF EXISTS pro_sql_data1 $$ CREATE procedure pro_sql_data1(in sear_name varchar(2000)) BEGIN if sear_name is not null