SQL存储过程—01—介绍


1、存储模块中的存储过程和存储函数

1.存储过程:

存储过程没有返回值,想要返回一个数据比较麻烦,需要通过输出参数;

2.存储函数

存储函数有返回值,想要返回一个数据很简单,只要在sql块中使用return语句即可;

 

2、创建存储模块:

复制代码
create procedure 模式名.存储模块名(参数1 输入输出参数类型 参数类型) as

declarce
      。。。。
begin
      。。。。
{exception
      。。。。}
end;
复制代码

注意事项:

  • exception是可选的;
  • 使用赋值符号“:=”或关键字 DEFAULT,可以为 IN 参数指定一个缺省值。如果调用时未指定参数值,系统将自动使用为该参数设定的缺省值。
  • 我们在创建存储模块的时候,都使用了 ORREPLACE 选项。使用 OR REPLACE 选项的好处是,如果系统中已经有同名的存储模块,服务器会删除原先的存储模块,再创建新的存储模块。如果不使用 OR REPLACE 选项,当创建的存储模块与系统中已有的存储模块同名时,服务器会报错。

 3、删除存储模块

drop produce 模式名.存储模块名;

 

 

 

4、调用存储模块

(1)调用存储过程

  • call可以调用;直接通过名字调用;
  • select会报错,因为select会返回一个 函数返回值的,而存储过程是没有返回值的只能通过返回参数来返回数据

(2)调用存储函数

  • call:通过 CALL 和直接使用名字调用存储函数时,不会返回函数的返回值,仅执行其中的操作;
  • select:通过 SELECT 语句调用存储函数时,不仅会执行其中的操作,还会返回函数的返回值。SELECT 调用的存储函数不支持含有 OUT、IN OUT 模式的参数。

5、重新编译存储模块

ALTER PROCEDURE 模式名.存储过程名  COMPILE;

 

 

posted @   Eric-Shen  阅读(104)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示