首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >函数计算PL/SQL中的增量。

函数计算PL/SQL中的增量。
EN

Stack Overflow用户
提问于 2020-10-21 05:56:38
回答 2查看 3.6K关注 0票数 0

下面有下面的代码,用于创建一个函数来计算员工的增量。功能将以增量百分比和工资作为输入,以回报增量量作为输出-

代码语言:javascript
运行
AI代码解释
复制
create or replace function calculate_Increment(incperc number, salary number)
return number
is
begin
insert into employee(emp_id, emp_name, salary, calculate_Increment(10, salary))
values (emp_id, emp_name, salary, v_increment_amount);
end;
/

预期产出为-

代码语言:javascript
运行
AI代码解释
复制
  EMPID      EMPNAME              SALARY     CALCULATE_INCREMENT(10,SALARY)
---------- ------------------------- ---------- ------------------------------
       101   Ram                  45000               4500
       102   Sita             54000               5400
       103   Gandhi           35000               3500
       104   Indira           48000               4800
       105   Cholan           25000               2500

但我面临一个错误-

代码语言:javascript
运行
AI代码解释
复制
Warning: Function created with compilation errors.
Select empid, empname, salary, calculate_Increment(10, salary) from employee
                               *
ERROR at line 1:
ORA-06575: Package or function CALCULATE_INCREMENT is in an invalid state

请帮我改正这个错误。提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-21 10:29:45

由于以下几个原因,您编写的函数无效:

alone)

  • insert不返回任何您不能在其中执行DML的

  • (好的,您可以,如果它是一个独立的事务,但是--让我们让它本身没有意义;它应该是什么?不能插入函数

表示的列

如果我得到的是正确的,那么您应该这样做:

代码语言:javascript
运行
AI代码解释
复制
SQL> create or replace function calculate_increment
  2    (incperc in number,
  3     salary  in number
  4    )
  5  return number
  6  as
  7  begin
  8    return salary * incperc/100;
  9  end;
 10  /

Function created.

SQL> select emp_id, emp_name, salary, calculate_increment(10, salary) inc
  2  from employee;

    EMP_ID EMP_NAME       SALARY        INC
---------- ---------- ---------- ----------
      7782 CLARK            2450        245
      7839 KING             5000        500
      7934 MILLER           1300        130

SQL>
票数 0
EN

Stack Overflow用户

发布于 2020-11-27 08:54:07

通过提供加薪百分比,创建一个表值函数,以使用员工id来增加员工的薪资。如果提供了ID,则您的职能必须能够增加单个员工的工资,否则如果没有提供ID,则您的职能应该增加所有员工的薪资。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64465165

复制
相关文章
PL-SQL温习
1.SELECT PRODUCT_NAME, PRODUCT_PRICE*0.8 FROM PRODUCT
liulun
2022/05/09
5480
pl sql 查看历史执行过的sql记录
现在越来越多人用plsql 查询和执行sql,因为该工具很方便,不仅可以执行sql、以及命令窗口,但是呢,有时候我们执行完sql,可能忘记保存或者当时觉得可能不怎么重要,就没有保存,
小小鱼儿小小林
2020/06/24
3.7K0
pl sql 查看历史执行过的sql记录
pl sql 循环_sql循环语句怎么写
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/07
3.1K0
pl sql 循环_sql循环语句怎么写
小白学习MySQL - 增量统计SQL的需求 - 开窗函数的方案
《小白学习MySQL - 增量统计SQL的需求》中,我们提到了一个MySQL增量统计需求的SQL,其实不止文中用的方案,还会有其他的,很多朋友都提到可以使用MySQL 8.0支持的开窗函数来解决。
bisal
2022/06/30
1.3K0
小白学习MySQL - 增量统计SQL的需求 - 开窗函数的方案
函数计算 Python 连接 SQL
python 连接数据库通常要安装第三方模块,连接 MS SQL Server 需要安装 pymssql 。由于 pymsql 依赖于 FreeTDS,对于先于 2.1.3 版本的 pymssql,需要先安装 FreeTDS。由于早期版本的 pymssql 只提供了 windows 下的 wheel 打包,其他平台(如 linux)需要从源码包编译安装,那需要先安装 freetds-dev 包,以提供必要的头文件。
py3study
2020/01/06
1.4K0
SQL中的DECIMAL()函数
Decimal为SQL Server 数据类型,属于浮点数类型。一个decimal类型的数据占用了2~17个字节。
全栈程序员站长
2022/09/09
2.3K0
SQL 中的聚集函数?
SQL 函数包含了算术函数,字符串函数,日期函数,转换函数。还有一函数,叫做聚集函数。SQL 聚集函数是对一组数据进行汇总的函数,输入是一组数据的集合,输出是单个值。
王小明_HIT
2020/07/07
1.4K0
SQL 中的聚集函数?
使用阿里函数计算同步OSS增量对象到COS
阿里函数计算与腾讯云的SCF类似,都是无服务的执行环境,它支持配置OSS的触发器,借助该功能我们可以把阿里OSS的增量数据同步到COS上。
ictfox
2020/08/14
4.5K1
使用阿里函数计算同步OSS增量对象到COS
sql中decode的用法_sql求和函数
   缺省值可以是你要选择的column name本身,也可以是你想定义的其他值,比如Other等;
全栈程序员站长
2022/09/16
1.6K0
SQL中NVL函数
如果表达式A为空值,NVL返回值为表达式B的值,否则返回表达式A的值。该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式A和表达式B的数据类型必须为同一个类型。
全栈程序员站长
2022/09/07
1.1K0
SQL中的max()函数用法
select max(score), name, course from score
zcqshine
2020/12/09
2.7K0
SQL中的max()函数用法
SQL中的聚合函数介绍
如果想要把null当做0,那么可以使用IsNull函数把null转换成0,语法如下:
全栈程序员站长
2022/06/24
2.2K0
SQL中的聚合函数介绍
pl sql developer中的CnPlugin插件,sql代码自动补全提示,批量添加单引号「建议收藏」
使用pl sql developer的版本7以上,下载CnPlugin插件,文件解压缩后,将里面的CnPlugin.dll和CnPlugin文件夹放到你的pl sql的安装路径中的PlugIns文件夹的下面 此链接有CnPlugin插件的安装包: https://download.csdn.net/download/qidaihuimou/12001092 安装好后如下图:
全栈程序员站长
2022/11/18
4.5K1
SQL知识大全(六):SQL中的开窗函数
在数据分析中,窗口函数是我们经常用到的函数,今天的文章我们总结了常用的各类窗口函数并给出实例。
数据万花筒
2020/12/30
4.7K0
SQL知识大全(六):SQL中的开窗函数
SQL知识大全(五):SQL中的时间函数
今天是SQL知识大全的第五讲,主要内容是和时间函数相关,主要包括了常用的时间函数,时间提取函数,时间计算函数以及时间和时间戳之间的转换。
数据万花筒
2020/12/30
2.6K0
SQL知识大全(五):SQL中的时间函数
OushuDB-PL 过程语言-PL/pgSQL - SQL过程语言
OushuDB兼容PostgreSQL,允许使用除了 SQL 和 C 之外的其他语言编写用户定义的函数。这些其他的 语言通常被称作过程语言(Procedural Language, PL)。对于一个用过程语言编写的函数,数据库服务 器没有关于如何解释该函数的源文本的内建知识。因此,这个任务被交给一个了解语言细节的特殊处理 器。该处理器能够自己处理所有的解析、语法分析、执行工作,或者它可以作为一种PostgreSQL和编程 语言既有实现之间的“粘合剂”。就像任何其他 C 函数一样,处理器本身是一个编译到共享对象并且按需 载入的 C 语言函数。 在OushuDB的标准发布中当前有四种过程语言可用: PL/pgSQL、 PL/Perl、 PL/Python以及 PL/Java, 其中PL/pgSQL是默认安装可用的。 另外还有其他过程语言可用,但是它们没有被包括在核心发布中, 如PL/R等,我们可以在第三方开源网站来获取它们的源码。 接下来我们主要看一下 PL/pgSQL - SQL过程语言。 PL/pgSQL - SQL过程语言 PL/pgSQL 是 PostgreSQL 数据库系统的一个可加载的过程语言,它的设计目标是创建一种可加载的过 程语言,可以: 用于创建函数和触发器过程 为 SQL 语言增加控制结构 执行复杂的计算 继承所有用户定义类型、函数、操作符 定义为被服务器信任的语言 容易使用 除了用于用户定义类型的输入/输出转换和计算函数以外,任何可以在 C 语言函数里定义的东西都可以在 PL/pgSQL 里使用。比如,可以创建复杂的条件计算函数,并随后将之用于定义操作符或者用于函数索 引中。 一、概述: PL/pgSQL函数在第一次被调用时,其函数内的源代码(文本)将被解析为二进制指令树,但是函数内的表 达式和SQL命令只有在首次用到它们的时候,PL/pgSQL解释器才会为其创建一个准备好的执行规划,随 后对该表达式或SQL命令的访问都将使用该规划。如果在一个条件语句中,有部分SQL命令或表达式没 有被用到,那么PL/pgSQL解释器在本次调用中将不会为其准备执行规划,这样的好处是可以有效地减少 为PL/pgSQL函数里的语句生成分析和执行规划的总时间,然而缺点是某些表达式或SQL命令中的错误只 有在其被执行到的时候才能发现。 由于PL/pgSQL在函数里为一个命令制定了执行计划,那么在本次会话中该计划将会被反复使用,这样做 往往可以得到更好的性能,但是如果你动态修改了相关的数据库对象,那么就有可能产生问题,如:
用户7454708
2023/05/08
7140
小白学习MySQL - 增量统计SQL的需求
这篇文章在爱可生开源社区首发《技术分享 | MySQL中一个聚类增量统计 SQL 的需求》。
bisal
2022/06/27
9590
小白学习MySQL - 增量统计SQL的需求
SQL中的替换函数replace()使用
# 模糊批量替换关键字 update blog_chat set messages=REPLACE(messages,’admin’,’管理员’) where messages like ‘%admin%’
kirin
2021/02/04
8.1K0
SQL中几个常用的排序函数
最近使用窗口函数的频率越来越高,这里打算简单介绍一下几个排序的函数,做一个引子希望以后这方面的问题能够更深入的理解,这里先简单介绍一下几个简单的排序函数及其相关子句,这里先从什么是排序开始吧。 排序函数是做什么的?     排序函数的作用是基于一个结果集返回一个排序值。排序值就是一个数字,这个数字是典型的以1开始且自增长为1的行值。由ranking函数决定排序值可以使唯一的对于当前结果集,或者某些行数据有相同的排序值。在接下来我将研究不同的排序函数以及如何使用这些函数。 使用RANK函数的例子     R
用户1217611
2018/01/30
2.1K0
SQL中的cast()函数「建议收藏」
CAST函数用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。
全栈程序员站长
2022/08/02
2.6K0
SQL中的cast()函数「建议收藏」

相似问题

自动增量函数,Oracle PL/SQL

10

增量聚合: PL/SQL

15

函数中的pl/sql返回间隔计算

232

WHILE循环中的PL/SQL增量

16

新增量后执行PL/SQL代码

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文