SQL存储过程和函数

本文深入探讨了嵌入式SQL的概念,包括其与主语言如Java和C++的交互方式,以及过程化SQL块的两种类型:匿名块和命名块。详细介绍了存储过程的创建、修改和删除操作,并解释了函数的定义及其与存储过程的区别,通过实例展示了如何使用函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 简介

嵌入式SQL:与主语言通信,比如:Java,C++
过程化SQL块主要有两种类型:匿名块和命名块。匿名块每次执行时都要进行编译,不能存储到数据库中,也不能在其他过程化SQL块中调用。过程和函数都是命名块,被编译后保存到数据库中,称为持久性存储模块,可以被反复调用,运行速度较快。
TSQL
PLSQL
MYSQL

二 存储过程

创建
create procedure a
as <过程化SQL块>
修改
alter
删除
drop

三 函数

函数的定义和存储过程也类似,不同之处是函数必须指定返回类型
create function a() returns类型
as <过程化SQL块>

call/select a(参数)

例子:

create function nextval(business_type varchar(32))
  returns int
  BEGIN
    declare current int default 0;
    
    select t.code into current from code_sequence t where business_type = business_type limit 1 for update;
    update code_sequence t set t.code = t.code + 1 ;
    set current = current + 1;

    return current;
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值