DM存储过程和存储函数
1存储过程存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合是SQL语言层面的代码封装与重用可以接收参数也可以返回数据。语法规则CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS] 过程声明 AS | IS 模块体过程声明 :: 存储过程名定义 [WITH ENCRYPTION][(参数名参数模式参数类型 [默认值表达式] )][调用权限子句]模块体 :: [声明部分] BEGIN 执行部分[异常处理部分] END [存储过程名]声明部分 ::[DECLARE]变量声明|异常变量声明|游标定义|子过程定义|子函数定义;1.1样例1.1.1创建--不带参数的存储过程 CREATE PROCEDURE P0 AS BEGIN PRINT HELLO; END; --带参数的存储过程 CREATE PROCEDURE P1(A1 IN INT) AS BEGIN PRINT A11||A11; END;1.1.2调用--不带参数以下4种方式均可调用 P0; P0(); CALL P0; EXECUTE P0; --带参数以下2种方式均可调用 P1(1); CALL P1(1); EXECUTE P0(1);--语法分析出错EXECUTE不能带参数1.1.3重编译用于确认一个存储模块是否还有效。当指定 CASCADE 后将级联重编译所有直接或间接引用该存储模块的对象需要考量影响范围建议谨慎使用。ALTER PROCEDURE P1 COMPILE [CASCADE];1.1.4删除DROP PROCEDURE [IF EXISTS] P1;1.2参数分类存储模块及模块中定义的子模块都可以带参数用来给模块传送数据及向外界返回数据。在存储过程或存储函数中定义一个参数时必须说明名称、参数模式和数据类型。三种可能的参数模式是IN(缺省模式)、OUT 和 IN OUT意义分别为IN输入参数用来将数据传送给模块OUT输出参数用来从模块返回数据到进行调用的模块IN OUT既作为输入参数也作为输出参数。1.2.1无参数CREATE PROCEDURE P1 AS A1 INT; BEGIN A1:1; PRINT A1; END; P1;1.2.2IN参数CREATE PROCEDURE P2(A2 IN INT) AS A1 INT; BEGIN A1:A21; PRINT A1; END; P2(3);1.2.3OUT参数DECLARE A3 INT; PROCEDURE P3(A2 OUT INT) AS A1 INT; BEGIN A1:A3; A2:A11; END P3; BEGIN A31; P3(A3); PRINT A3; END;1.2.4IN OUT参数DECLARE A3 INT; PROCEDURE P4(A2 IN OUT INT) AS A1 INT; BEGIN A1:A21; A2:A11; PRINT A1:||A1; PRINT A2:||A2; END P4; BEGIN A3:3; P4(A3); PRINT A3:||A3; END; CREATE PROCEDURE P5(a IN OUT INT) AS b INT:10; BEGIN a:ab; PRINT a; EXCEPTION WHEN OTHERS THEN NULL; END; P5(3);2存储函数和存储过程类似只有函数声明部分多了返回值和可选参数CREATE [OR REPLACE] FUNCTION [IF NOT EXISTS] 函数声明 AS_OR_IS 模块体函数声明 :: 存储函数名定义 [WITH ENCRYPTION][FOR CALCULATE][(参数名参数模式参数类型 [默认值表达式])]RETURN 返回数据类型 [调用选项子句][PIPELINED]2.1样例2.1.1创建可以不带参数但必须有返回值--不带参数的函数 CREATE OR REPLACE FUNCTION F0 RETURN INTEGER AS BEGIN PRINT HELLO; RETURN 1;--可以没有RETURN语句那么返回值就是NULL END; --带参数的函数 CREATE OR REPLACE FUNCTION F1(C IN INT) RETURN INTEGER AS BEGIN RETURN C*2; END;2.1.2调用--不带参数以下4种方式均可调用 F0;--返回值可以赋值给变量 F0();--返回值可以赋值给变量 CALL F0;--无返回值 SELECT F0();--输出返回值 --带参数以下3种方式均可调用 F1(3);--返回值可以赋值给变量 CALL F1(3);--无返回值 SELECT F1(3);--输出返回值2.1.3重编译用于确认一个存储模块是否还有效。当指定 CASCADE 后将级联重编译所有直接或间接引用该存储模块的对象需要考量影响范围建议谨慎使用。ALTER FUNCTION P1 COMPILE [CASCADE];2.1.4删除DROP FUNCTION [IF EXISTS] P1;3区别存储函数与存储过程在结构和功能上十分相似主要的差异在于存储过程没有返回值调用者只能通过访问 OUT 或 IN OUT 参数来获得执行结果而存储函数有返回值它把执行结果直接返回给调用者存储过程中可以没有返回语句而存储函数必须通过返回语句结束不能在存储过程的返回语句中带表达式而存储函数必须带表达式存储过程不能出现在一个表达式中而存储函数可以出现在表达式中。

相关新闻

赛迪报告:中国制造业AI Agent市场规模达135亿的底层逻辑——大模型落地工业现场的技术路径与选型实务

赛迪报告:中国制造业AI Agent市场规模达135亿的底层逻辑——大模型落地工业现场的技术路径与选型实务

2026年被行业公认为智能体(AI Agent)规模化落地的元年。根据赛迪顾问发布的最新报告,中国制造业AI Agent市场规模已正式跨越135亿元大关。这一数据不仅是量化的增长指标,更预示着AI技术在工业领域正经历从“对话式辅助”向“自主化…

2026/8/6 18:38:00 阅读更多 →
AI辅助编程工程化实践:从Vibe Coding到Harness Engineering

AI辅助编程工程化实践:从Vibe Coding到Harness Engineering

1. 项目概述:当“AI写代码”成为日常,我们如何优雅地“喝咖啡”?“AI写代码我喝咖啡”,这句在开发者社区里流传甚广的梗,精准地描绘了当下许多工程师的日常:我们满怀期待地将需求描述扔给Copilot、Cursor或…

2026/8/6 18:38:00 阅读更多 →
第二届精准医学研讨会暨大队列组学研究学术研讨会圆满落幕!SomaScan 4K蛋白质组重磅国内首发!

第二届精准医学研讨会暨大队列组学研究学术研讨会圆满落幕!SomaScan 4K蛋白质组重磅国内首发!

2026年8月1日,由中国科学院上海营养与健康研究所、上海中科新生命生物科技有限公司联合主办的第二届精准医学研讨会暨大队列组学研究学术研讨会于上海顺利召开。会议采用线上线下同步模式,线下参会两百余人,线上观看量破万,汇聚泰…

2026/8/6 18:38:00 阅读更多 →

最新新闻

lsp-java与Maven/Gradle无缝协作:项目构建与依赖管理技巧

lsp-java与Maven/Gradle无缝协作:项目构建与依赖管理技巧

lsp-java与Maven/Gradle无缝协作:项目构建与依赖管理技巧 【免费下载链接】lsp-java lsp-mode :heart: java 项目地址: https://gitcode.com/gh_mirrors/ls/lsp-java lsp-java是一款强大的Java语言服务器协议实现,它能与Maven和Gradle等主流构建工…

2026/8/6 19:26:20 阅读更多 →
训练自己的离散扩散模型:Score-Entropy-Discrete-Diffusion完整训练流程与参数调优

训练自己的离散扩散模型:Score-Entropy-Discrete-Diffusion完整训练流程与参数调优

训练自己的离散扩散模型:Score-Entropy-Discrete-Diffusion完整训练流程与参数调优 【免费下载链接】Score-Entropy-Discrete-Diffusion [ICML 2024 Best Paper] Discrete Diffusion Modeling by Estimating the Ratios of the Data Distribution (https://arxiv.or…

2026/8/6 19:26:20 阅读更多 →
CMF by Nothing首款耳夹耳机Clip Pro登场,定价549元能否填补市场空白?

CMF by Nothing首款耳夹耳机Clip Pro登场,定价549元能否填补市场空白?

CMF补全开放式耳机版图,Clip Pro重磅登场8月4日晚,消费科技品牌Nothing旗下子品牌CMF by Nothing推出首款耳夹耳机Clip Pro,定价549元。成立仅三年的CMF,凭借标志性设计语言在全球60多个国家和地区售出数百万台产品,此…

2026/8/6 19:26:20 阅读更多 →
【arXiv 技术报告 2025】NVIDIA Nemotron 3:高效与开放智能|从大模型高效推理架构视角

【arXiv 技术报告 2025】NVIDIA Nemotron 3:高效与开放智能|从大模型高效推理架构视角

摘要 本文解读 arXiv 技术报告 2025 论文《NVIDIA Nemotron 3: Efficient and Open Intelligence》。该论文提出Nemotron 3 模型家族(Nano / Super / Ultra),通过融合混合 Mamba-Transformer MoE 架构、LatentMoE 潜空间路由与NVFP4 低精度训…

2026/8/6 19:26:20 阅读更多 →
OpenCode 安装教程

OpenCode 安装教程

OpenCode 安装教程:开源终端 AI 编程助手从零上手 🚀 一句话简介:OpenCode 是一款 100% 开源的 AI 编程 Agent,直接跑在终端里,支持 75 模型供应商,能理解整个代码库、自主完成多文件编辑和命令执行。本文带…

2026/8/6 19:26:20 阅读更多 →
新手爸妈必存:帕利珠单抗RSV预防完全手册——接种时间、费用、注意事项一次说清

新手爸妈必存:帕利珠单抗RSV预防完全手册——接种时间、费用、注意事项一次说清

RSV是什么?为什么早产儿要特别警惕?呼吸道合胞病毒(RSV)是婴幼儿下呼吸道感染的头号元凶。每年秋冬流行季,无数宝宝因RSV感染导致毛细支气管炎、肺炎住院。对于胎龄≤35周的早产儿、患有慢性肺疾病或先天性心脏病的宝宝…

2026/8/6 19:25:20 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →