您现在的位置是:首页 > 众测

mysql 存储过程 select 参数(SQL存储过程如何调用存储过程)

vcbgfh8RQW 2024-04-17

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

这样:

CREATEPROCEDUREsp_add(a int, b int,outc int)

begin

set c=a+ b;

end;

调用过程:

call sp_add(1,2,@a);

select@a;

扩展资料:

注意事项

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

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

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

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

创建存储过程

SQL Server创建存储过程:

create procedure过程名

@parameter参数类型

@parameter参数类型

。。。

as

begin

end

执行存储过程:execute过程名

二、mybatis调用mysql存储过程(返回参数,单结果集,多结果集)

mybatis调用mysql存储过程(返回参数,单结果集,多结果集)

注: RETCODE、RETDESC这里的输出值不用在函数里 SELECT RETCODE;,因为即使没有,当执行成功后会自动返回在对象里(Object/Map),所以在函数里不用SELECT一下了。

Navicat中执行函数需要输入参数值,也是对应图1,@A@B表示输出值。(一个输入值两个输出值)

1.标注一二三四五处如果存在,则执行成功后返回结果如下

标注一对应结果1

标注二对应结果2

标注三对应结果3

标注四对应结果4

标注五对应结果5

其中结果3返回的是集合。

存在这么多结果,想要取结果3中的集合是不好取的,只有像下图一样只有一个结果才好取出集合。

2.标注一二四五处如果不存在,则执行成功后返回结果如下

只有结果1,对应的是标注三处的值。可以取出集合

函数p_duplicate_enroll

三、sql 调用已经建立的存储过程

实现的方法和详细的操作步骤如下:

1、第一步,创建一个存储过程,该代码如图所示。存储过程的主要目的是为表“JingYan”插入新数据,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,执行以下几行代码,并查看执行是否成功。现在,数据库中有一个存储过程源“sp_JY”,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,查看“JingYan”表中的当前数组,只有三行数据,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,在mysql中,要调用存储过程,只需使用“call”关键字并输入存储过程的名称即可。当然,如果有参数,则需要带一个参数。代码见下图,然后进入下一步。

5、随后,完成上述步骤后,再次查看“JingYan”表中的数据,可以看到当前数据已经是四个,这表明对存储过程的调用已成功插入了新数据,如下图所示,然后进入下一步。

6、接着,完成上述步骤后,添加另一个存储过程,该存储过程使用select语句返回表数据,如下图所示,然后进入下一步。

7、最后,完成上述步骤后,调用新的存储过程,可以看到结果中已经返回了表数据,如下图所示。这样,问题就解决了。

四、SQL存储过程如何调用存储过程

1、首先先创建一个存储过程,代码如图,存储过程主要的功能是为表JingYan插入新的数据。

2、执行这几行代码,看到执行成功,数据库里现在已经有存储过程sp_JY。

3、先看下JingYan表里目前的数组,如图,只有三行数据。

4、在mysql里,调用存储过程,只需要用call关键字,带上存储过程的名称就行了,当然有参数时,需要带个参数。代码如图

5、执行了这个存储过程的调用之后,再看下JingYan表里的数据,可以看到现在的数据已经是四条了,说明调用存储过程成功插入了一条新的数据。

6、再添加一个存储过程,该存储过程用select语句,返回表数据。

7、调用新的存储过程,可以看到结果里也是返回表数据。

文章版权声明:除非注明,否则均为典胜网原创文章,转载或复制请以超链接形式并注明出处。