Real SQL Programming
目录
SQL in Real Programs
Options
Stored Procedures
Advantages of Stored Procedures
Parameters in PSM
SQL in Real Programs
-
We have seen only how SQL is used at the generic query interface --- an environment where we sit at a terminal and ask queries of a database.
-
Reality is almost always different:
conventional programs interacting with SQL.
(我们只是看见了SQL是如何在常规的查询接口中的使用,也就是直接通过终端 对数据库进行交互,但实际上通常是常规程序与SQL语言的交互)
Options
- Code in a specialized language is stored in the database itself (e.g.PSM, PL/SQL).
- SQL statements are embedded in a host language (e.g., C).
- Connection tools are used to allow a conventional language to access a database (e.g., CLI, JDBC, PHP/DB).
(常规程序与SQL语言的交互模式: 数据库储存代码、SQL内嵌、连接工具)
Stored Procedures
-
PSM, or “persistent stored modules, ” allows us to store procedures as database schema elements.(持久储存模块允许我们将储存模式作为数据库模式元素)
-
PSM = a mixture of conventional statements (if, while, etc.) and SQL.
- Lets us do things we cannot do in SQL alone.
数据库中的储存过程和函数的区别在于,函数可以直接通过函数名的引用得到函数值,但是储存过程不行
Advantages of Stored Procedures
- Share Application Logic(共享应用逻辑)
- Shield Database Schema Details(屏蔽数据库细节)
- Provide Security Mechanisms(提供安全机制 )
- Improve Performance(提升性能)
- Reduce Network Traffic(减少网络流量)
Parameters in PSM
Unlike the usual name-type pairs in languages like C, PSM uses mode- name-type triples, where the mode can be:
-
IN = procedure uses value, does not change value.(传入参数,只能调用不能修改)
-
OUT = procedure changes, does not use.(传出参数,可以在储存过程被修改)
-
INOUT = both
想得到储存过程的返回值,虽然不能直接通过调用储存过程名字,但是可以调用OUT参数
相关文章:

Real SQL Programming
目录 SQL in Real Programs Options Stored Procedures Advantages of Stored Procedures Parameters in PSM SQL in Real Programs We have seen only how SQL is used at the generic query interface --- an environment where we sit at a terminal and ask queries …...

Sentinel限流熔断机制实战
1、核心概念 1.1、流量控制 流量控制是为了 防止系统被过多的请求压垮,确保资源合理分配并保持服务的可用性,比如对请求数量的限制。 流量控制的 3 个主要优势: 防止过载:当瞬间涌入的请求量超出系统处理能力时,会…...
Java 数据处理 - 数值转不同进制的字符串(数值转十进制字符串、数值转二进制字符串、数值转八进制字符串、数值转十六进制字符串)
一、数值转十进制字符串 调用 String.valueOf() int num 123;String decStr String.valueOf(num);System.out.println(decStr);# 输出结果123调用 Integer.toString(),指定进制 int num 123;String decStr Integer.toString(num);System.out.println(decStr)…...

79. 单词搜索-极致优化,可行性剪枝和顺序剪枝
给你一个目标字符串,和一个二维字符数组,判断在数组中是否能找到目标字符串。 例如,board [["A","B","C","E"],["S","F","C","S"],["A","…...

ICDMC 2025:创新媒体模式,迎接数字时代的挑战
2025年数字媒体与通讯国际会议将在风景秀丽的中国山东举行。此次会议致力于促进数字媒体和通讯领域的国际合作与交流,为相关产业发展提供智力支持和技术引领。我们诚挚邀请来自世界各地的学者、研究人员和行业专家参加本次会议,共同探讨前沿问题和发展方…...
深入解析C#多态性:基类引用、虚方法与覆写机制
基类引用的本质 在C#面向对象编程中,派生类对象由基类部分和扩展部分组成。通过基类引用访问派生类对象时,实际是在进行「观察视角」的转换: MyDerivedClass derived new MyDerivedClass(); MyBaseClass mybc (MyBaseClass)derived; //…...

SoftThinking:让模型学会模糊思考,同时提升准确性和推理速度!!
摘要:人类的认知通常涉及通过抽象、灵活的概念进行思考,而不是严格依赖离散的语言符号。然而,当前的推理模型受到人类语言边界的限制,只能处理代表语义空间中固定点的离散符号嵌入。这种离散性限制了推理模型的表达能力和上限潜力…...
C++中 newdelete 与 mallocfree 的异同详解
C中 new/delete 与 malloc/free 的异同详解 在 C 开发中,动态内存管理是重中之重!new/delete 和 malloc/free 都是用来动态申请和释放内存的,但它们有本质的区别。今天我们就来彻底搞懂它们的区别,避免内存泄漏和 undefined beha…...

晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册
晨控CK-UR08与欧姆龙PLC配置Ethernet/IP通讯连接操作手册 晨控CK-UR08系列作为晨控智能工业级别RFID读写器,支持大部分工业协议如RS232、RS485、以太网。支持工业协议Modbus RTU、Modbus TCP、Profinet、EtherNet/lP、EtherCat以及自由协议TCP/IP等。 本期主题:围绕…...
STM32入门教程——LED闪烁LED流水灯蜂鸣器
前言 本教材基于B站江协科技课程整理,适合有C语言基础、刚接触STM32的新手。它梳理了STM32核心知识点,帮助大家把C语言知识应用到STM32开发中,更高效地开启STM32学习之旅。 一、硬件电路搭建与工程配置 电路连接要点 LED 闪烁 / 流水灯&…...
鸿蒙OSUniApp 实现的数据可视化图表组件#三方框架 #Uniapp
UniApp 实现的数据可视化图表组件 前言 在移动互联网时代,数据可视化已成为产品展示和决策分析的重要手段。无论是运营后台、健康监测、还是电商分析,图表组件都能让数据一目了然。UniApp 作为一款优秀的跨平台开发框架,支持在鸿蒙…...
Tornado WebSocket实时聊天实例
在 Python 3 Tornado 中使用 WebSocket 非常直接。你需要创建一个继承自 tornado.websocket.WebSocketHandler 的类,并实现它的几个关键方法。 下面是一个简单的示例,演示了如何创建一个 WebSocket 服务器,该服务器会接收客户端发送的消息&a…...
HarmonyOS鸿蒙与React Native的融合开发模式以及能否增加对性能优化的具体案例
鸿蒙与React Native的融合开发模式 一、技术架构设计 底层适配层 通过HarmonyOS的NDK封装原生能力(如分布式软总线、AI引擎) 使用React Native的Native Modules桥接鸿蒙API(需重写Java/Objective-C部分为ArkTS) 组件映射机制 …...
化学分析原理。
化学分析关心的要素:a.空间结构(晶格结构、胶体结构、玻璃体结构、膜结构,宏观与微观两个层面,化学键与键角以及结构强度,结合能以及物质内聚力研究,主要目的是化学建模),b.成分与组…...

开源即战力!从科研到商用:Hello Robot 移动操作机器人Stretch 3多模态传感融合(RGB-D/激光/力矩)控制方案
科研领域对机器人技术的需求日益增长,Hello Robot的移动操作机器人Stretch 3凭借其灵活性和性能满足了这一需求。其模块化设计、开源架构和高精度传感控制能力,使科研人员能够顺利开展实验。Stretch 3以其独特的移动操作能力,为科研探索提供了…...

元胞自动机(Cellular Automata, CA)
一、什么是元胞自动机(Cellular Automata, CA) 元胞自动机(CA) 是一种基于离散时间、离散空间与规则驱动演化的动力系统,由 冯诺依曼(John von Neumann) 于1940年代首次提出,用于模…...

智能手表单元测试报告(Unit Test Report)
📄 智能手表单元测试报告(Unit Test Report) 项目名称:Aurora Watch S1 模块版本:Firmware v1.0.4 测试阶段:模块开发完成后的单元测试 报告编号:AW-S1-UTR-2025-001 测试负责人:赵磊(软件架构师) 报告日期:2025-xx-xx 一、测试目的 通过对智能手表关键功能模块进…...

微深节能 码头装卸船机定位与控制系统 格雷母线
微深节能码头装卸船机定位与控制系统:格雷母线技术赋能港口作业智能化升级 在现代化港口散货装卸作业中,装卸船机是连接船舶与陆域运输的核心枢纽设备。传统装卸船机依赖人工操作,存在定位偏差大、动态协同难、安全风险高等痛点。微深节能基于…...
基于matlab遗传算法和模拟退火算法求解三维装箱优化问题
一、遗传算法和模拟退火算法求解三维装箱优化问题 遗传算法(Genetic Algorithm)和模拟退火算法(Simulated Annealing Algorithm)都是优化算法,可以用来求解三维装箱优化问题。 遗传算法原理和流程: 1 原理…...
在Spring Boot中集成Redis进行缓存
在Spring Boot中集成Redis进行缓存,主要分为以下步骤: 1. 添加依赖 在pom.xml中添加Redis和缓存相关的依赖: <!-- Spring Boot Redis Starter --> <dependency><groupId>org.springframework.boot</groupId><ar…...

Python实现P-PSO优化算法优化循环神经网络LSTM分类模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 随着深度学习技术的迅猛发展,循环神经网络(RNN)及其变体LSTM(Long S…...
OSG编译wasm尝试
最近遇到一个情况,需要尝试一下OSG到webassembly 发现官网有教程 于是顺着看了看,默认教程是xubuntu的一个系统跑的,但是我本着试一试的想法,拉下来直接在windows上跑,奇奇怪怪的报错简直头皮发麻 然后怎么办呢&#x…...

Scratch节日 | 龙舟比赛 | 端午节
端午节快乐! 这款专为孩子们打造的Scratch游戏——《龙舟比赛》,让你在掌控龙舟的竞速中,沉浸式体验中华传统节日的魅力! 🎮 游戏亮点 节日氛围浓厚:化身龙舟选手,在波涛汹涌的河流中展开刺激竞…...
Ubuntu搭建DNS服务器
1.安装 BIND 软件包 sudo apt update sudo apt install bind9 bind9utils bind9-doc -y 2.配置主配置文件 编辑/etc/bind/named.conf.options,添加上游 DNS 服务器 options {directory "/var/cache/bind";// 添加Google DNS作为上游服务器forwarders {…...

electron开发百度桌面应用demo及如何打包应用
1.开发入口文件main.js 1-1 加载百度URL const { app, BrowserWindow, nativeImage } require(electron) const path require(node:path)const createWindow () > {const win new BrowserWindow({width: 800,height: 600,})//加载百度URLwin.loadURL(https://www.baid…...

关于用Cloudflare的Zero Trust实现绕过备案访问国内站点说明
cloudflare 是一个可免费的CDN,CDN(Content Delivery Network,内容分发网络)加速国内网站,通常是已备案的。Zero Trust类似FRP,可以将请求转发到目标服务器。在使用Zero Trust绕过备案访问国内网站需要&…...
2025年DDoS混合CC攻击防御全攻略:构建智能弹性防护体系
2025年,DDoS与CC混合攻击已成为企业安全的“头号威胁”。攻击者利用AI伪造用户行为、劫持物联网设备发起T级流量冲击,同时通过高频请求精准消耗应用层资源,传统单点防御几近失效。如何应对这场“流量洪水资源枯竭”的双重打击?本文…...

方正字库助力华为,赋能鸿蒙电脑打造全场景字体解决方案
2025年5月19日,搭载华为鸿蒙操作系统的鸿蒙电脑,面向用户推出集AI智能、互联流畅、安全保障和精致体验于一体的全新办公系统。作为鸿蒙生态核心字体服务商,方正字库为此次提供了全面的系统字体支持,涵盖中文、西文及符号三大类字库…...

STM32 串口通信①:USART 全面理解 + 代码详解
一 前言 本篇文章并不会系统的从零开始讲起,适合大家对USART有一定的学习,再看本篇文章会有一定的收获,祝大家在本文中,吸收到新的知识。 二 通信方式 1)按数据传输的方式分(这就是“串行 vs 并行”&…...

【Java Web】速通CSS
参考笔记:JavaWeb 速通CSS_java css-CSDN博客 目录 一、CSS入门 1. 基本介绍 2. 作用 二、CSS的3种引入方式 1. 行内式 1.1 示例代码 1.2 存在问题 2. 写在head标签的style子标签中 2.1 示例代码 2.2 存在问题 3.以外部文件的形式引入(开发中推荐使用)⭐⭐⭐ 3.1 说明 3…...