当前位置:首页 » 存储配置 » mysql带参的存储过程

mysql带参的存储过程

发布时间: 2023-01-14 18:27:31

① mysql 存储过程带参数的 我在调用这个存储过程的时候可以不传参数吗

不能不传,mysql 好像 不支持默认参数
你可以 给他只传递 ""值 或null

② mysql带参数存储过程

CREATE DEFINER= XXXX @ % PROCEDURE PRO_proct_pass_rate (IN start_date date, #统计开始日期
IN end_date date, #统计结束日期
IN proct_id VARCHAR(3000), #产品ID,多个用“,”分隔
IN show_type VARCHAR(2), #显示模式 1:按时间段只显示1笔通过率 2:跨月时间段按月显示通过率
OUT result_status VARCHAR(30), #返回处理状态
OUT result_info VARCHAR(100) #返回处理信息
)
BEGIN
DECLARE v_cnt1 INT;
DECLARE v_cnt2 INT;
DECLARE pid_list VARCHAR(3000);

END IF;
END

③ mysql 怎么执行带有参数的存储过程

直接用call调用存储过程,如:call getUserInfo(参数1,参数2...);

④ 在MySQL中如何创建一个带输出参数为一个表类型的存储过程

在MySQL中如何创建一个带输出参数为一个表类型的存储过程
首先需要知道“另一个存储过程”的结果集的所有列的类型。
假设“另一个存储过程”的名字是sp1,没有参数,返回的结果集共3列,全部为int型,那么“存储过程”里添加一个与结果集列数相同的临时表或表变量用于接收“另一个存储过程”的结果集
如下
CREATE PROCEDURE sp2
AS
DECLARE @t table(a int,b int,c int)

INSERT INTO @t(a,b,c)
EXEC sp1

SELECT * FROM @t
使用SQLSERVER存储过程可以很大的提高程序运行速度,简化编程维护难度,现已得到广泛应用。
创建存储过程
和数据表一样,在使用之前需要创建存储过程,它的简明语法是:

引用:
Create PROC 存储过程名称
[参数列表(多个以“,”分隔)]
AS
SQL 语句

例:

引用:
Create PROC upGetUserName
@intUserId INT,
@ostrUserName NVARCHAR(20) OUTPUT -- 要输出的参数
AS
BEGIN
-- 将uName的值赋给 @ostrUserName 变量,即要输出的参数
Select @ostrUserName=uName FROM uUser Where uId=@intUserId
END

其中 Create PROC 语句(完整语句为Create PROCEDURE)的意思就是告诉SQL SERVER,现在需要建立一个存储过程,upGetUserName 就是存储过程名称,@intUserId 和 @ostrUserName 分别是该存储过程的两个参数,注意,在SQL SERVER中,所有用户定义的变量都以“@”开头,OUTPUT关键字表示这个参数是用来输出的,AS之后就是存储过程内容了。只要将以上代码在“查询分析器”里执行一次,SQL SERVER就会在当前数据库中创建一个名为“upGetUserName”的存储过程。你可以打开“企业管理器”,选择当前操作的数据库,然后在左边的树型列表中选择“存储过程”,此时就可以在右边的列表中看到你刚刚创建的存储过程了(如果没有,刷新一下即可)。
二、存储过程的调用

之前已经创建了一个名为“upGetUserName”的存储过程,从字面理解该存储过程的功能是用来取得某一个用户的名称。存储过程建立好了,接下来就是要在应用程序里调用了,下面看一下在ASP程序里的调用。

⑤ mysql的存储过程带参数的怎么写

以下代码运行通过:

delimiter$$;
createprocerelucia_proc16(countint)
begin
DECLAREname_procVARCHAR(20)CHARACTERSETutf8;
DECLAREsex_procVARCHAR(4)CHARACTERSETutf8;
DECLAREage_procINT(10);
DECLAREclass_procVARCHAR(20)CHARACTERSETutf8;
DECLAREAddr_procVARCHAR(50)CHARACTERSETutf8;
DECLAREiINT;
seti=1;
setsex_proc='女';
setage_proc=20;
setclass_proc='山治班';
setAddr_proc='北京市朝阳区';
whilei<countdo
setname_proc=CONCAT('露西亚',i);
insertintostudents(Name,Sex,age,class,Addr)values(name_proc,sex_proc,age_proc,class_proc,Addr_proc);
seti=i+1;
endwhile;
end
$$;
delimiter;
calllucia_proc16(500);

运行效果:

⑥ mysql 存储过程

1. exec 存储过程名
2. exec 存储过程名 参数1,参数2,参数3......
或者exec 存储过程名 参数1='',参数2='',参数3=''......

⑦ mysql带参数的存储过程怎么调用

调用MySQL存储过程使用CALL命令
语法:CALL 存储过程名(参数1[,参数2..]]);
例如:
Call myPro1;
Call myPro2('001');

⑧ Navicat for MySQL如何创建带参数的存储过程

你打开"new
query",然后直接在新的窗口里编写就可以了,给你个示例:
create
procere
p_test
(
in
i_num
int,
in
i_name
varchar(50),
out
o_result
varchar(100)
)
begin
select
i_num
as
'输入参数1',
i_name
as
'输入参数2';
set
o_result
=
'输入参数结果为:';
end;

热点内容
光遇安卓如何拍高清图片 发布:2025-07-22 19:40:59 浏览:774
搭建linux游戏服务器 发布:2025-07-22 19:37:45 浏览:427
sql附加数据库只读 发布:2025-07-22 19:37:44 浏览:499
实时热度算法 发布:2025-07-22 19:36:15 浏览:81
安卓红斗篷先祖在哪里 发布:2025-07-22 19:35:34 浏览:985
mysql有两个存储引擎吗 发布:2025-07-22 19:33:26 浏览:925
导入java文件 发布:2025-07-22 19:12:52 浏览:533
弱引用缓存 发布:2025-07-22 19:06:12 浏览:959
新版我的世界比较好的服务器 发布:2025-07-22 18:39:29 浏览:598
acfun服务器地址 发布:2025-07-22 18:29:11 浏览:953