Oracle修炼路程--存储过程/存储函数

面试中常考的数学题——截木棍、圆上取点、赛马、红蓝墨水,测试毒药、坐到正确座位问题 文章目录1.将一根木棒截成三段,问能够组成三角形的概率;2.在圆上任取三点,问能够组成锐角、直角、钝角三角形的概率;3.共有25匹马,找出最快的3匹,只有5个赛道,每次比赛只能得到5匹马的速度排序,最少需要多少次比赛;4 有两瓶红蓝墨水,体积一样,现在从红墨水中舀一勺加入蓝墨水中,搅拌均匀后,在从蓝墨水中舀一勺加到红墨水中,试问这两瓶墨水哪瓶纯度更高。 1.将一根木棒截成三段,问能够组成三角形的概率; 来源:https://blog.youkuaiyun.com/weixin_41245919/article/deta 阅读详情

一 存储过程
1 概念:
一条或多条SQL语句的集合;
当对数据库进行一系列的操作时,利用存储过程可将复杂的操作封装成一个代码块,以便重复使用。如同java中的方法,调用即可;

2 创建语法:
create or replace procedure 过程名(参数列表)
as
PL/SQL语句;

3 具体语法:

1) 无参数的存储过程
create or replace procedure 过程名(参数列表)
as
begin
end;

--创建存储过程test1
set serveroutput on;
create or replace procedure test1
as
 pnum number:=1;--定义变量pnum;
begin
DBMS_OUTPUT.PUT_LINE('helo'||pnum);
end;

--执行存储过程
--方法一:
exce test1;

--方法二:
begin
test1();
test1();
end;
区别:第二种方法可以循环调用;

2) 有参数的存储过程;
输入参数:in
输出参数:out

create or replace procedure raiseSalary(pid in number)
as
   psal emp.sal%type;
begin
    select sal into psal from emp where empno=pid; 
    update emp set sal=sal+500 where empno=pid;
    dbms_output.put_line(psal);
end;

二 存储函数
1 概念:
与存储过程最大的区别是:必须有return;
存储函数是一命名的存储程序,可以带参数并返回计算值;

2 创建语法:
create [or replace] function 函数名(参数列表)
return 返回值类型
as
–定义变量
begin
…
return 返回值
end;

–举例:查询某个员工的年薪;

--举例:查询某个员工的年薪;
create or replace function totalSalary (pid in number)
       return number
as
   psal emp.sal%type;
   pcomm emp.comm%type;
begin
   select sal,comm into psal,pcomm  from emp where empno=pid;
   return  psal*12+nvl(pcomm,0);

end;

3 调试
授权语句:
grant debug connect session to scott;
grant debug any procedure to scott;

存储过程/存储函数什么时候用呢?
建议:只有一个返回值,用存储函数:return;
没有或者有多个返回值 选用存储过程:out;

--举例:传入员工编号,返回姓名和工作;
create or replace procedure getEmpinfo (pempno in emp.empno%type,pename out emp.ename%type,pjob out emp.job%type)
as
begin
select ename,job into pename,pjob from emp where pempno=empno;

end;
create or replace function getEmpinfofunc (pempno in emp.empno%type,pename out emp.ename%type,pjob out emp.job%type)
   return varchar2
as
begin
select ename,job into pename,pjob from emp where pempno=empno;
return null;
end;
一种独特机理驱动的化学反应分类器详解 代码位置第 47-300+ 行// atom_494: 硫原子,度数=2,化合价=2,无H,无电荷!// atom_35: 氧原子,度数=1,1个H,无电荷// atom_347: 氧原子,度数=2,无H,无电荷!→atom_494()[OD1h1+0]→atom_35()→atom_347()特性传统方法(MCS)NameRXN(机理驱动)匹配策略最大公共子结构原子类型模式 + 操作码时间复杂度O(n) - 线性扫描机理理解无内置化学机理原子映射需额外计算自动推导准确性结构相似。 阅读详情

相关推荐

quartusII简易CPU设计

优点可以实现八种运算,数据的存取及运算都能很好的实现,上板也很成功。缺点首先由于自己知识储备的缺乏,只能实现较为简单的8种运算,也是最简单的直接寻址。其次为了方便操作,没有从外部输入数据,都是直接使用存储在存储器中的数据。后续发展后续会在此简易CPU的基础上增加一些功能对CPU进行完善,如算术运算可以考虑是补码运算,输入、输出采用存储缓冲等等,直至完整的全功能的处理器。收获通过这次实践,更熟悉Quartus软件的操作。能过更加清楚每个器件的操作,比如计数器,运算器,译码器等的实现功能。

Kong08242022的博客 3484

APP、小程序、H5手机网站各有什么优势和缺点?

移动互联网的发展日新月异,随着行业的成熟,逐步演化出了APP、小程序、H5手机网站三种应用。 APP、小程序、H5手机网站的优点如下: APP:可以独立安装,更容易形成自己的品牌。 小程序:免安装、即点即开,用户的使用门槛很低。 H5手机网站:免安装,即点即开,能运行在所有移动设备和移动形态中。 APP、小程序、H5手机网站的缺点如下: APP:需要单独下载、安装,用户的使用门槛较高;需要同时兼顾苹果系统和安卓系统,既用不同的技术分别研发一次,研发成本高,维护成本高。 小程序:这里暂指微信小程序,只能基于微

weixin_49736127的博客 2016

【Unity3D优化】优化内置shader的内存占用

在打AB包的过程中,并不会把这些Built-in的shader单独打包,并与材质球和预设体做好依赖,因此打AB包时,Unity会自行在材质球和预制体的AB包内每一个都包含进去用到的Built-in的Shader,而且运行时,由于加载的是不同的AB包,shader也是不同的实例,占用的也是多份内存。结合项目特点可以分析,由于项目里使用了大量的粒子特效,一些特殊的效果,会给特效师写定制的shader,但是这些常见的效果,特效师直接使用了Unity Built-in的shader。继续优化内存占用。

a310989583的专栏 2313

Oracle修炼路程--查询习题

第一题 :查询所有员工的年工资、所在部门的名称,按年薪从低往高排序; SQL> select (sal*12+nvl(comm,0)) 年工资,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno order by 年工资 asc; 年工资 部门名称 ---------- -------------- 14400 R...

Python_Newer的博客 695

大疆机场及无人机上云(航线规划、指令飞行...)

最近基于大疆上云api进行二次开发,后面将按照开发步骤对其进行说明!

资深三维GIS开发 5579

2016域控服务器迁移,WIN Server2016 域服务器迁移出错

各位大神: 这几天刚安装了一台windows server 2016做域迁移时出现错误:1、默认SYSLOG、NETLOGON共享文件重启后自动取消共享,即使手动打开后依然会出现自动取消2、组策略中编辑策略时出现以下报错 policys.png (19.29 KB)2017-2-7 13:52操作此动作之前可以访问本机的共享(NETLOGON)3、使用DCDIAG检测多个报错:C:\Use...

weixin_31833039的博客 3314

Oracle修炼路程--PL/SQL基础语法

常用工具: 1 plsql developer 2 oracle sql developer PL/SQL是一门为扩展Oracle中SQL功能的编程语言, 常见符号: || 字符串连接符 := 赋值运算符 % 属性索引 使用%type可以使变量获得与字段相同的数据类型 = 相等运算符 1) 变量 SET SERVEROUTPUT ON; declare phello...

Python_Newer的博客 421

【VMware篇】7-通过ISO镜像升级VMware Esxi

本文主要介绍Dell服务器上安装的ESXi升级的方法之一(采用ISO升级)。

chen_yunan的博客 5518

Oracle修炼路程--分页查询

一 TOP-N问题 --取出工资最高的5五名员工信息; --第一步:首选对员工信息按照sal进行降序; SQL> select *from emp order by sal desc; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -...

Python_Newer的博客 419

深入GD32/STM32引脚复用:你的JTAG/SWD接口是怎么‘消失’的?一次讲清原理与预防

本文深入解析GD32/STM32调试接口(JTAG/SWD)突然失效的原理与预防措施。通过分析MCU启动流程、引脚复用机制及典型错误代码模式,揭示调试接口'消失'的根本原因,并提供硬件设计检查清单、软件防护代码及开发流程优化方案,帮助开发者有效避免烧录失败问题。

weixin_42532938的博客 370

ERA5获取的风场数据转换为.dfs2文件

ERA5获取风场数据的具体步骤可以参考下面的文章下载好后应该是.nc格式的文件,想要读取或者转换成其他格式的文件可以安装下面步骤,本文介绍如何转换为.dfs2文件。

我的博客 1460

Oracle修炼路程--powerdesigner和oracle

1 环境 Powerdesigner 16.7(64位) Oracle 11g(64位) 2 配置数据源 安装好powerdesigner之后,做E-R图; 如图,物理模型:关系型须子表指向父表。 3 连接数据 1)配置数据源 开始-》搜索“数据源”-》接下来如下图: 到此,数据源配置完毕; 3 pb连接oracle 快捷键:ctrl+g,如图: 点击“确定”之后,即可将表格导入到数据库之中; 4 逆向生成 现在将数据库中的表格,导入到pd中: 填写好账号密码即可连接数据库,然后

Python_Newer的博客 354

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Oracle修炼路程--触发器

概念: 与表相关联的PLSQL程序,当执行DML(增删改)自动执行触发器; 创建语法: create or replace trigger 触发器名 before|after—在DML之前或者之后; delete|insert|update [of 列名]–DML语句 on 表名----操作某个表 for each row----对某行数据进行操作 。。。。。plsql代码 无论修改多少行,触发器...

Python_Newer的博客 351

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Oracle修炼路程--六种约束

约束: 约束是数据库用来确保数据满足业务规则的手段。具体需要根据业务需求进行相应设置。 常见约束分类: 检查约束(Check):可限制条件,如name>4 唯一约束(Unique):id:1 2 3 4 5 主键约束(Primary key):类似唯一约束 外键约束(Foreign key):两张表关联 非空约束(Not null):不能为空 默认约束(Default):默认某值 约束命名规...

Python_Newer的博客 316

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Oracle修炼路程--视图

视图概念: 视图属于数据库对象(包括表、视图、序列、索引、同义词、触发器)之一, 视图是一个虚表,建立在表的基础之上,可以来自单个表或者多个表。 视图创建 创建视图的语法: create view myview as select 。。。from。。。emp with check option; --举例创建视图myview SQL> create view myview as select...

Python_Newer的博客 290

Oracle修炼路程--数据字典

概念: 数据字典是oracle数据库最重要的组成部分;它是由表和视图组成,记录了数据库的系统信息;数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的! oracle数据字典通常是在创建和安装数据库时被创建的,是oracle系统工作的基础。没有数据字典的支持,oracle数据库系统就不能进行任何工作。 分类 1 静态数据字典表 2 静态数据字典视图 3 ...

Python_Newer的博客 260

Oracle修炼路程--日期函数及转换函数

一 日期函数 a) sysdate:获取当前时间 SQL> select sysdate from dual; SYSDATE -------------- 13-4月 -20 SQL> select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; SYSDATE TO_CHAR(SYSD...

Python_Newer的博客 257

Oracle修炼路程--伪列rowid及rownum

**伪列概念:**类似于表中的列,但是不存在任何表中,可以查询,不可增加、修改或者删除。 一 rownum ronum: 1 逻辑伪列:比如1 2 3 4 5 6 。。 SQL> select rownum,e.* from emp e; ROWNUM EMPNO ENAME JOB MGR HIREDATE ...

Python_Newer的博客 249

Oracle修炼路程--PL/SQL之光标的使用

概念: 光标又名游标,是一个PL/SQL结构,利用光标可以命名这些工作区,并通过光标访问工作区中的信息。 语法: cursor 光标名(参数列表) is select。。。 属性: %isopen 判断光标是否打开,所以第一步打开光标; %rowcount 判断光标已经获取数据的行数; %found ...

Python_Newer的博客 240

Oracle修炼路程--事务操作以及隔离级别

事务概念 作为单个逻辑工作单元执行的一系列操作。 比如张三向李四转账1000,那么张三钱数-1000,而李四+1000; 事务特性:ACID Atomicity原子性:要么都成功,要么都失败; Consistency一致性:事务执行前后,总量保持一致; Isolation隔离性:各个事务并发执行时,彼此独立; Durability持久性:持久化操作。 事务的生命周期: MySQL:自动提交; Or...

Python_Newer的博客 233

Oracle修炼路程--闪回技术

oracle–闪回操作 **闪回概念:**当发生逻辑错误时,从闪回恢复区中取出在发生逻辑错误之前的数据,并进行恢复。 闪回作用: 1 撤销已经提交的事务; 2 恢复被删除的表格; 3 获取表上的历史记录信息; 闪回分类: 1 闪回表中的数据; 2 闪回删除的表; 3 闪回事务查询; 4 闪回数据库; 5 闪回归档日志; 下面阐述每一类闪回技术: 一 闪回表中的数据 实际上是将表中的数据快速恢...

Python_Newer的博客 230

Oracle修炼路程--PL/SQL之例外

概念: 一种PL/SQL标识符,它用于处理PL/SQL程序的运行错误。 类型 一 系统例外: 1 预定义例外:用于处理常见的Oracle错误 2 非预定义例外:用于处理预定义例外所不能处理的Oracle错误 no_data_found: 没有找到数据,报错; too_many_rows:行数太多,报错; zero_divide:被0整除,报错; values_errors: 算术或者转换错误;...

Python_Newer的博客 229

177.Agent-LangGraph-MCP的构成说明

MCP架构通过MCP主机、客户端与服务器的协同,实现工具、资源与提示词的统一管理。MCP服务器提供Tools、Resources、Prompts能力,MCP客户端则负责发现、调用与读取,使Agent可按需获取上下文。其核心在于将工具从Agent中抽离,封装为可复用的服务,提升灵活性与可维护性,推动AI应用高效协作。

计算机王的博客 291

Docker Compose:搭建本地多服务开发环境

从一个 Java API、PostgreSQL 和 Redis 开始,配置服务名、端口、环境变量、健康检查、数据卷和依赖关系。理解 Compose 文件如何被解析、项目如何隔离,以及哪些数据不能依赖“重建容器”保留,能够把个人开发环境整理成团队可复用的启动入口。

m0_62221377的博客 477

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 436

【基于 WebSocket 的多用户网页五子棋】—— 数据管理模块

但行好事,莫问前程

qq_42996461的博客 251
上一篇: Oracle修炼路程--PL/SQL之例外
下一篇: Oracle修炼路程--触发器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值