你的位置: 皇冠账号 > 皇冠官网 > AG真人百家乐博彩平台游戏积分_MySQL存储经过详解
热点资讯

AG真人百家乐博彩平台游戏积分_MySQL存储经过详解

发布日期:2023-10-30 08:51    点击次数:135

AG真人百家乐博彩平台游戏积分_MySQL存储经过详解

AG真人百家乐博彩平台游戏积分_

[[429020]]

时常有小伙伴问我这个存储经过该怎么写?动作过来东谈主我刚初始也有这么的烦闷,今天就给天下说说这个存储经过该怎么创建和使用。

什么是存储经过

存储经过是一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储经过的名字并给定参数(需要时)来调用推论。

要道词:可编程,特定功能,调用

创建存储经过

咱们以表customers为例,通过传递客户ID的值来查询客户的具体信息:

大发平台官网

表customers

示例:

皇冠走地足球
CREATE 沙巴轮盘PROCEDURE sp_customers(IN cusid INT) BEGIN    SELECT * FROM customers WHERE `客户ID`=cusid; END; 

上头这是一个比拟简便的存储经过,主要的功能等于用来查询客户信息。这里咱们先简便施展注解一下:

CREATE PROCEDURE:这是创建存储经过的要道字,属固定语法。

sp_customers:这是存储经过称呼,当咱们推论了该存储经过后,系统就会出现一个该称呼的存储经过,不错自界说。

皇冠体育正网

IN:这是输入参数的意旨有趣,固然也有输出参数要道字OUT,同期也不错不界说参数,平直让参数为空。

cusid INT:这是界说参数名和类型,这里咱们界说了一个名为cusid,类型为INT的参数名。

BEGIN ... END :这是存储经过经过体的固定语法,你需要推论的SQL功能就写在这中间。

调用存储经过

上头咱们创建好了存储经过以后,就不错调用了。调用存储经过的语法很简便:

针对家属提出的医生在8月2日复诊时没有书写病历、术前的检查结果存在异常仍进行手术,上述工作人员解释,患者术前检查结果异常仅超出正常范围一点,结合患者当下症状体征不具有临床意义,且患者手术顺利。8月2日复诊时,医生已认真询问病情和查体,并给予正确康复指导,因工作疏忽漏写病历,后续院方会按照制度要求对当事医生进行内部处理。此次复诊医生临床处置得当,与后续患者出现新发症状死亡并无关联。

全场盘口

博彩平台游戏积分

皇冠hg86a

CALL sp_name([参数])

AG真人百家乐

底下咱们来调用上头的存储经过sp_customers

CALL sp_customers(1); 

施展注解:

上头的代码的意旨有趣等于将客户ID为1的数据,传递给存储经过sp_customers,通过CALL来调用该存储经过来推论。

恶果为:

2022卡塔尔世界杯冠军竞猜

戒备的小伙伴可能照旧发现了,这不等于一个简便的WHERE查询语句吗?是的,刚初始使用存储经过期,其实无用把它奥妙化,皇冠下注你越以为它奥妙越会以为难以纯属使用。复杂的东西先简便化,方可更进一步掌捏。

经过体 经过体即咱们在调用时必须推论的SQL语句,上头的SELECT查询即为一个简便的经过体。 经过体包含DML、DDL语句,if-then-else和while-do语句、声明变量的declare语句等 经过体的格式上头也照旧演示过,以BEGIN初始,以END结果(不错嵌套)。

举例:

BEGIN   BEGIN     BEGIN       -- SQL代码;     END   END END 

重视:每个嵌套块相称中的每条SQL语句,必须以分号(;)规模。暗示经过体规模的BEGIN-END块(又叫作念复合语句compound statement),即END后头,则不需要分号。

标签

标签平庸是与BEGIN-END沿路使用,用来增强代码的可读性。语法为:

[label_name:] BEGIN     [statement_list]  END [label_name] 

举例:

label1: BEGIN   label2: BEGIN     label3: BEGIN       --SQL代码;      END label3 ;   END label2; END label1 

该功能不常用,了解即可。

存储经过的参数

上头咱们约略的说了一下存储经过参数界说,底下咱们再翔实给天下回报参数该怎么使用。

参数类型

IN输入参数:暗示调用者向经过传入值(传入值不错是字面量或变量) OUT输出参数:暗示经过向调用者传出值(不错复返多个值)(传出值只然则变量) INOUT输入输出参数:既暗示调用者向经过传入值,又暗示经过向调用者传出值(值只然则变量)

IN输入参数

皇冠客服飞机:@seo3687

上头的示例等于一个输入参数的示例,这里不赘述。

OUT输出参数

CREATE PROCEDURE sp_customers_out(OUT cusname VARCHAR(20)) BEGIN   SELECT cusname;   SELECT `姓名` INTO cusname FROM customers WHERE `客户ID`=1;   SELECT cusname; END 

调用上头的存储经过:

CALL sp_customers_out(@cusname); 

恶果为:

恶果1

随着博彩行业不断壮大,皇冠作为一家具有丰富经验企业,拥有庞大用户群体稳定市场占有率,用户提供更为优质服务。皇冠体育会员

恶果2

上头咱们界说了一个输出参数为cusname的参数(这里参数类型要是有长度必须给定长度)。

然后在经过体内部,咱们输出了两次参数的恶果,恶果1为NULL,是因为咱们的输出参数cusname还莫得接管任何值,是以为NULL;

恶果2内部有了客户姓名,是因为咱们将客户ID为1的客户姓名传递给了输出参数cusname。

INOUT输入输出参数

这个不常见,但是也有使用,即合并个参数既为输入参数,也为输出参数,咱们把上头的存储经过略微修改一下就不错看出永诀了。

CREATE PROCEDURE sp_customers_inout(INOUT cusname VARCHAR(20)) BEGIN   SELECT cusname;   SELECT `姓名` INTO cusname FROM customers WHERE `客户ID`=2;   SELECT cusname; END 

调用上述存储经过之前咱们先给定一个输入参数:张三

SET @cusname='张三'; CALL sp_customers_inout(@cusname); 

恶果为:

恶果1

恶果2

上头咱们界说了一个输入输出参数为cusname的参数。然后在经过体内部,咱们输出了两次参数的恶果:

第一次咱们将先界说好的“张三”(SET @cusname='张三')传递给参数cusname,此时它为输入参数。干预经过体后最初输出恶果1为“张三”,此时参数cusname为输出参数;

然后通过查询将客户ID为2的客户姓名再次传递给cusname,来蜕变它的值,此时它相似为输出参数,仅仅输出恶果发生了蜕变。

以上等于三个参数的用法,提议:

 

需要输入值时使用IN参数; 需要复返值时使用OUT参数; INOUT参数尽量少用。

 



----------------------------------