mysql存储过程菜鸟教程_mysql存储过程实例详解

mysql存储过程菜鸟教程_mysql存储过程实例详解详细实例全⾯解析SQL存储过程存储过程(StoredProcedure),是⼀组为了完成特定功能的SQL语句,类似⼀门程序设计语⾔,也包括了数据类、流程控制、输⼊和输出和它⾃⼰的函数库。存储过程可以说是⼀个记录集,它是由⼀些T-SQL语句组成的代码块,这些T-SQL语句代码像⼀个⽅法⼀样实现⼀些功能(对单表或多表的增删改查),然后再给这个代码块取⼀个名字,在⽤到这个功能的时候调⽤他就⾏了。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

详细实例全⾯解析SQL存储过程

存储过程(Stored Procedure),是⼀组为了完成特定功能的SQL 语句,类似⼀门程序设计

语⾔,也包括了数据类 、流程控制、输⼊和输出和它⾃⼰的函数库。存储过程可以

说是⼀个记录集,它是由⼀些T-SQL语句组成的代码块,这些T-SQL语句代码像⼀个

⽅法⼀样实现⼀些功能 (对单表或多表的增删改查),然后再给这个代码块取⼀个名

字,在⽤到这个功能的时候调⽤他就⾏了。不过SQL存储过程对于⼀些初学者来说还

是⽐较抽象难理解的,因此本⽂将由浅⾄深地剖析SQL存储过程,帮助你学习它。

存储过程的优点

1.存储过程只在创造时进⾏编译,以后每次执⾏存储过程都不需再重新编译,⽽⼀般

SQL语句每执⾏⼀次就编译⼀次,所以使⽤存储过程可提⾼数据库执⾏速度,效率要⽐

T-SQL语句⾼。

2.当对数据库进⾏复杂操作时,可将此复杂操作⽤存储过程封装起来与数据库提供的

事务处理结合⼀起使⽤。

3、⼀个存储过程在程序在⽹络中交互时可以替代⼤堆的T-SQL语句,所以也能降低⽹

络的通信量,提⾼通信速率。

4 .存储过程可以重复使⽤,可减少数据库开发⼈员的⼯作量。

5.安全性⾼,可设定只有某些⽤户才具有对指定存储过程的使⽤权

存储过程基本语法

创建存储过程

CREATE PROC [ EDURE ] procedure_name [ ; number ]

[ { @parameter data_type }

[ ARYING ] [ = default ] [ OUTPUT ]

] [ ,…n ]

[ WITH

{ RECOMPILE | ENCRYPTION | RECOMPILE , ENCRYPTION } ]

[ FOR REPLICATION ]

AS sql_statement [ …n ]

调⽤存储过程

EXECUTE Procedure_name ” –存储过程如果有参数,后⾯加参数格式为:@参数名

删除存储过程

drop procedure procedure_name –在存储过程中 调⽤另外⼀个存储过程,

创建存储过程的参数

1.procedure_name :存储过程的名称,在前⾯加#为局部临时存储过程,加##为全局

临时存储过程。

2.; number :是可选的整数,⽤来对同名的过程分组,以便⽤⼀条 DROP

PROCEDURE 语句即可将同组的过程⼀起除去。例如,名为 orders 的应⽤程序使⽤的

过程可以命名为 order roc;1、order roc;2 等。DROP PROCEDURE order roc 语句将除

去整个组。如果名称中包含定界标识符,则数字不应包含在标识符中,只应在

rocedure_name 前后使⽤适当的定界符。

3.@parameter :存储过程的参数。可以有⼀个或多个。⽤户必须在执⾏过程时提供每

个所声明参数的值 (除⾮定义了该参数的默认值)。存储过程最多可以有 2.100 个参

数。

使⽤ @ 符号作为第⼀个字符来指定参数名称。参数名称必须符合标识符的规则。每

个过程的参数仅⽤于该过程本⾝;相同的参数名称可以⽤在其它过程中。默认情况

下,参数只能代替常量,⽽不能⽤于代替表名、列名或其它数据库对象的名称。有关

更多信息,请参见 EXECUTE 。

4.data_type :参数的数据类 。所有数据类 (包括 text 、ntext 和 image )均可以⽤

作存储过程的参数。不过,cursor 数据类 只能⽤于 OUTPUT 参数。如果指定的数据

类 为 cursor ,也必须同时指定 VARYING 和 OUTPUT 关键字。有关 SQL Server 提

供的数据类 及其语法的更多信息,请参见数据类 。

说明 对于可以是 cursor 数据类 的输出参数,没有最⼤数⽬的限制。

5.VARYI G :指定作为输出参数⽀持的结果集 (由存储过程动态构造,内容可以变

化)。仅适⽤于游标参数。

6.default : 参数的默认值。如果定义了默认值,不必指定该参数的值即可执⾏过程。

默认值必须是常量或 NULL 。如果过程将对该参数使⽤ LIKE 关键字,那么默认值中

可以包含通配符 (%、_ 、[] 和 [^] )。

7.OUTPUT :表明参数是返回参数。该选项的值可以返回给 EXEC[UTE] 。使⽤

OUTPUT 参数可将信息返回给调⽤过程。Text

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/185534.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 图文详解j2ee开发环境搭建全过程教程_数据库环境搭建

    图文详解j2ee开发环境搭建全过程教程_数据库环境搭建在J2EE项目实施过程中需要搭建一个完整的开发环境,涉及到的技能和工具包含:JDK、Eclipse、Tomcat、MySQL、Maven、Navicat等等。这些环境对于具备工作经验的开发人员而言想必早已是轻车熟路,但是对于刚入门的新手来说还是颇为棘手。故,在此以文档形式详细记录J2EE开发环境搭建的整个过程。

    2022年10月22日
  • Laravel 修改默认日志文件名称和位置

    Laravel 修改默认日志文件名称和位置

    2021年10月23日
  • 手机响应式网站设计_如何做响应式网页设计

    手机响应式网站设计_如何做响应式网页设计##wap页面怎么做?这个问题困扰了我好久,在PC上我们惯用的`px`单位在手机上根本不适用,即使我们写了“防止网页自动缩放也无济于事,因为各手机分辨率大小不同。用百分比布局。宽度自适应做到了但是高

  • 关于this指针

    关于this指针一个类的对象中实际只包含了该对象的数据成员信息,当我们创建了多个类的对象时,使对象1调用该类的成员函数,为什么可以改变对象1中的信息,而不去设置其他对象的信息?成员函数在类中只有一份,所有该类的对象共同使用,编译器是如何识别并处理的呢?编译器识别一个类分为三步:1.识别类的类名2.识别类的成员变量3.识别类的成员函数并对成员函数进行修改修改方式:成员函数有一个隐藏…

  • dos2unix命令解决 Shell 脚本无法执行的问题

    dos2unix命令解决 Shell 脚本无法执行的问题 1.解决问题    在执行脚本时,报了以下错误:-sh:./test.sh:/bin/bash^M:badinterpreter:Nosuchfileordirectory    出现上述类似的错误,原因是脚本在Windows下编辑然后上传到Linux系统里执行。我们编辑的.sh文件的格式为dos格式,而Linux只能执行unix格式的脚本。  我…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号