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 @ 2021-02-01 21:17  Eric-Shen  阅读(100)  评论(0编辑  收藏  举报