当前位置:首页 » 存储配置 » mysql存储过程调用

mysql存储过程调用

发布时间: 2022-06-07 03:36:52

⑴ mysql存储过程怎么调用自定义函数

创建存储过程
mysql>
delimiter
$
--
delimiter
$是设置
$为命令终止符号,代替默认的分号,因为分号有其他用处.
mysql>
create
procere
sp_test(IN
pi_id
int,
OUT
po_name
varchar(10))
->
begin
->
select
*
from
test.tb_test;
->
select
tb_test.name
into
po_name
from
test.tb_test
where
tb_test.id
=
pi_id;
->
end
->
$
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
delimiter
;
--
恢复分号作为分隔终止符号
5.调用存储过程
mysql>
set
@po_name=';
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
call
sp_test(1,@po_name);

java 怎么调用mysql 存储过程

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;
/*
* 对应的存储过程
DROP PROCEDURE IF EXISTS `pro_num_user`;
delimiter ;;
CREATE PROCEDURE `pro_num_user`(IN user_name varchar(10) ,OUT count_num INT)
READS SQL DATA
BEGIN
SELECT COUNT(*) INTO count_num FROM tab_user WHERE 'name'=user_name;
END
;;
delimiter ;
*/
public class Test {
public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://127.0.0.1:3306/test";
public static final String USERNAME = "root";
public static final String PASSWORD = "acbee";
public static void main(String[] args) throws Exception {
test1();
test2();
}

public static void test1() throws Exception
{
Class.forName(DRIVER_CLASS);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
String sql = "{CALL pro_num_user(?,?)}"; //调用存储过程
CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
cstm.setString(1, "myd"); //存储过程输入参数
//cstm.setInt(2, 2); // 存储过程输入参数
cstm.registerOutParameter(2, Types.INTEGER); // 设置返回值类型 即返回值
cstm.execute(); // 执行存储过程
System.out.println(cstm.getInt(2));
cstm.close();
connection.close();
}

public static void test2() throws Exception
{
Class.forName(DRIVER_CLASS);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
String sql = "{CALL pro_number(?,?,?)}"; //调用存储过程
CallableStatement cstm = connection.prepareCall(sql); //实例化对象cstm
cstm.setInt(1, 2); // 存储过程输入参数
cstm.setInt(2, 2); // 存储过程输入参数
cstm.registerOutParameter(3, Types.INTEGER); // 设置返回值类型 即返回值
cstm.execute(); // 执行存储过程
System.out.println(cstm.getInt(3));
cstm.close();
connection.close();

}
}

⑶ mysql怎么调用存储过程

使用call语句来调用,直接call 存储过程名称(参数)即可。

⑷ mysql里边,存储过程之间相互调用

你创建一个存储过程C
先执行存储过程A,并得到返回值
再判断返回值执行存储过程B
例如:
mysql>
\d
//
mysql>
create
procere
test(v_name
char(20),out
v_id
int)
->
BEGIN
->
SELECT
id
into
v_id
from
t1
WHERE
name=v_name;
->
END;
->
//
mysql>
create
procere
test1(v_id
int,out
v_name
char(20))
->
BEGIN
->
SELECT
name
into
v_name
from
t2
where
id=v_id;
->
END;
->
//
mysql>
create
procere
test2(inout
v_name
char(20))
->
BEGIN
->
DECLARE
v_id
int;
->
CALL
test(v_name,v_id);
->
CALL
test1(v_id,v_name);
->
END;
->
//
mysql>
set
@aa='xx‘//
Query
OK,
0
rows
affected
(0.00
sec)
mysql>
call
test2(@aa)
//
Query
OK,
0
rows
affected
(0.01
sec)
mysql>
select
@aa//
+------+
|
@aa
|
+------+
|
x2
|
+------+
1
row
in
set
(0.00
sec)

⑸ java里面怎么调用mysql的存储过程的

java代码:

Class.forName("com.mysql.jdbc.Driver");

Connectioncon=DriverManager

.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=111111");

Stringsql="{callsel(?)}";

CallableStatementcs=(CallableStatement)con.prepareCall(sql);

cs.execute();

Stringname=cs.getString(1);

System.out.println(name);

创建存储过程代码:

dropprocereifexistssel;

createproceresel(outname1varchar(225))

begin

;

end

输出结果:

⑹ mysql存储过程怎么调用自定义的函数

创建存储过程
mysql> delimiter $ -- delimiter $是设置 $为命令终止符号,代替默认的分号,因为分号有其他用处.
mysql> create procere sp_test(IN pi_id int, OUT po_name varchar(10))
-> begin
-> select * from test.tb_test;
-> select tb_test.name into po_name from test.tb_test where tb_test.id = pi_id;
-> end
-> $
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ; -- 恢复分号作为分隔终止符号

5.调用存储过程
mysql> set @po_name='';
Query OK, 0 rows affected (0.00 sec)
mysql> call sp_test(1,@po_name);

⑺ mysql中的存储过程怎么使用

存储过程(Stored
Procere)是一组为了完成特定功能的SQL语句集功能是将常用或复杂的工作,预先用SQL语句写好并用一个指定名称存储起来,
以后需要数据库提供与已定义好的存储过程的功能相同的服务时,只需调用
call
存储过程名字,
即可自动完成命令。存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,可由应用程序通过一个调用来执行,而且允许用户声明变量
。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。

⑻ MySQL里面sql语句调用存储过程,该如何写

这样:

CREATEPROCEDUREsp_add(a int, b int,outc int)

begin

set c=a+ b;

end;

调用过程:

call sp_add (1,2,@a);

select @a;

(8)mysql存储过程调用扩展阅读:

注意事项

存储过程(stored procere)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。

存储过程分为系统存储过程和自定义存储过程。

系统存储过程在master数据库中,但是在其他的数据库中可以直接调用,并且在调用时不必在存储过程前加上数据库名,因为在创建一个新数据库时,系统存储过程在新的数据库中会自动创建。

自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功,并不能像函数那样被直接调用,只能利用execute来执行存储过程。

创建存储过程

SQL Server创建存储过程:

create procere 过程名

@parameter 参数类型

@parameter 参数类型

。。。

as

begin

end

执行存储过程:execute 过程名

热点内容
博图脚本编辑 发布:2024-11-15 20:41:06 浏览:312
带密码的箱子钥匙在哪里 发布:2024-11-15 20:40:12 浏览:236
两个次梁相交怎么配置 发布:2024-11-15 20:27:35 浏览:373
android关机实现 发布:2024-11-15 20:26:42 浏览:56
木糠压缩原理 发布:2024-11-15 20:22:53 浏览:654
编译原理难以理解的问题 发布:2024-11-15 20:11:25 浏览:130
安卓9是什么水平 发布:2024-11-15 20:06:57 浏览:185
intel快速存储ssd 发布:2024-11-15 20:00:27 浏览:143
吃鸡配置太低怎么调高画质 发布:2024-11-15 19:58:19 浏览:735
王者怎么设置来电屏蔽安卓 发布:2024-11-15 19:56:08 浏览:450