在plsql中编写函数

2024-02-18

我正在查询数据库,需要解析其中一个字段以获取特定值(使用字符串函数)。所以我认为最好为其编写一个函数。我以前从未在 plsql 中编写过函数,所以我决定看一些示例。

我得到了一个简单的“square”函数的副本,它接受一个数字并返回它的平方,但不知道如何从 SQL 语句中调用它。

我只有读取权限。我能够编写函数并使用它们来检索我需要的数据吗?如果是这样,怎么办?


为了能够创建函数,您的用户需要 DBA 授予它的 CREATE PROCEDURE 权限:

grant create procedure to myschema;

如果您有权限,那么您可以创建这样的函数

create function square(n in number) return number
is
  return n*n;
end;

你可以像这样从 SQL 调用它:

select num, square(num)
from mytable;

注意:在 Oracle 中,通常首选在以下位置创建函数packages http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28370/packages.htm#CIHIJECJ,在这种情况下调用 SQL 将类似于:

select num, mypackage.square(num)
from mytable;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在plsql中编写函数 的相关文章

  • 如何使用 EclipseLink 处理以 Oracle 类型作为输入或输出的 Oracle 存储过程调用

    我进行了概念验证 以了解使用 EclipseLink 调用存储过程的效率如何 我能够使用带有标量 原始数据类型 链接整数 varchar 等 的 EclispeLink 来调用 Oracle 存储过程 我想了解如何使用集合 Oracle 类
  • 在Oracle中查找不包含数字数据的行

    我试图在一个非常大的 Oracle 表中找到一些有问题的记录 即使该列是 varchar2 列 也应包含所有数值数据 我需要找到不包含数字数据的记录 当我尝试在此列上调用 to number col name 函数时 它会抛出错误 我想你可
  • 在sql plus脚本中运行循环

    我正在 sql plus 中运行脚本 我的脚本中有一个 for 循环 BEGIN FOR count IN 1 100 LOOP INSERT INTO CompanyShare VALUES count 1 250 END LOOP EN
  • 如何在Oracle中从表中选择列,*?

    我正在创建很多脚本 有时为了检查表是否根据我的需要进行更新 我会即时编写几个 SELECT 语句 在 SQL SERVER 中你可以这样写 SELECT Column1 FROM MY TABLE 出于可见性原因 这很有用 但是这似乎在 O
  • Oracle 删除约束级联等效于 Sql Server

    在Oracle中 删除约束PK SAI我使用语法 ALTER TABLE SAISIE DROP CONSTRAINT PK SAI CASCADE SQL Server 中与此等效的是什么 您正在考虑与实际 DELETE 语句相关的 FO
  • Oracle 按月滚动或运行总计

    目标 每个月末所有报表的滚动 运行总计 Code select TRUNC ACTHX STMT HX STMT DATE MM AS MNTH COUNT ACTHX INVOICE as STMTS from ACTHX group b
  • 从 PL/SQL 调用 shell 脚本,但 shell 以 grid 用户而非 oracle 身份执行

    我正在尝试使用 Runtime getRuntime exec 从 Oracle 数据库内部执行 shell 脚本 在 Red Hat 5 5 上运行的 Oracle 11 2 0 4 EE CREATE OR REPLACE proced
  • 如何计算选择查询的最佳获取大小

    在 JDBC 中 默认获取大小为 10 但我想当我有一百万行时 这不是最佳获取大小 据我所知 获取大小太低会降低性能 但如果获取大小太高也会降低性能 我怎样才能找到最佳尺寸 这对数据库端有影响吗 它会占用大量内存吗 如果您的行很大 请记住
  • 自动提取数据 - Oracle SQL Developer

    我通过 SQL Developer 连接到 Oracle 数据库 我想编写一个返回每月数据集的查询 然后将该数据提取到分隔文本文件中 我知道如何做到这一点就好了 我想知道是否有一种方法可以编写一个脚本来运行查询并在一年内逐月提取数据 这样我
  • Oracle JDBC 预取:如何避免 RAM 不足/如何使 oracle 更快高延迟

    使用 Oracle java JDBC ojdbc14 10 2 x 加载包含多行的查询需要很长时间 高延迟环境 这显然是 Oracle JDBC 中的默认预取默认大小 10 每 10 行需要一次往返时间 我正在尝试设置一个激进的预取大小来
  • Oracle SQL 函数中可以有 commit 语句吗

    在 SQL 函数中使用 COMMIT 语句是否可能 有意义 从技术上来说 答案是肯定的 你can请执行下列操作 create or replace function committest return number as begin upd
  • 在Oracle中使用IW和MM

    我使用 IW 表示每周结果 使用 MM 表示每月结果 但我总是收到错误 ORA 00979 not a GROUP BY expression 00979 00000 not a GROUP BY expression 我的疑问是这些 We
  • 如果 Oracle SQL 中存在视图,则删除视图[重复]

    这个问题在这里已经有答案了 我是 Oracle 数据库系统的新手 Oracle 12c 中以下 SQL 语句的等效项是什么 DROP VIEW IF EXIST
  • AES 加密 Java/plsql

    我需要在Java和plsql DBMS CRYPTO for Oracle 10g 上实现相同的加密 解密应用程序 两种实现都工作正常 但这里的问题是我对相同纯文本的加密得到了不同的输出 下面是用于加密 解密过程的代码 Java 和 PLS
  • php oracle客户端oci8安装出现什么问题

    我尝试了安装 PHP Oracle 客户端的所有过程 1 我安装了客户端版本8和32位 2 我在php ini中取消了oci的注释 3 重新启动Wamp 4 不确定是否真的安装 但我在 php ini 中得到了引用 5 但仍然无法连接 泰汉
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • 如何将今天的日期返回到 Oracle 中的变量

    我想做这个 DECLARE today as smalldatetime SELECT today GetDate 但我需要一个oracle翻译 甲骨文使用SYSDATE 还有 ANSI 标准CURRENT TIMESTAMP 除其他外 S
  • Oracle SQL PLS-00049:错误的绑定变量

    我收到此错误 这似乎是列拼写问题 然而 我 99 确信我拼写的所有内容都是正确的 但我看不出有任何理由会出现我所犯的错误 这是来源 CREATE OR REPLACE TRIGGER update qoh trigger AFTER INS
  • ORA-04061: 包体“PACKAGE.NAME”的现有状态已失效,但仍然存在

    在我正在处理的一个 Oracle 数据库实例上 我在重新编译包时观察到与正常行为不同的行为 通常 如所讨论的Oracle 中频繁出现错误 ORA 04068 包的现有状态已被丢弃 https stackoverflow com questi
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装

随机推荐

  • python 类变量在 __init__ 中不可见?

    这段代码产生了一条错误消息 令我惊讶的是 class Foo object custom 1 def init self custom Foo custom self custom custom x Foo 有人可以提供启示吗 It s F
  • Spring登录时显示错误消息

    我正在使用 Spring security 来验证用户身份 我创建了一个自定义身份验证提供程序 现在我想知道如何从提供程序获取错误消息到我的表单中 这是我的自定义身份验证提供程序中的authenticate 方法 Override publ
  • 如何让tomcat爆war文件

    参考tomcat 和提取的文件 https stackoverflow com questions 14945820 tomcat and extracted files 14965275 14965275我已将 server xml 配置
  • 如何查找哪个脚本修改了所选属性的css

    有没有办法获取哪些脚本修改了选定的 DOM 元素以及修改顺序的信息 在我的网站上 我修改了 div A 的宽度 但是 似乎其他一些脚本在那之后修改了该宽度 但我不知道它是哪个脚本 我怎样才能找到它 编辑 经过更多搜索后 我发现在 fireb
  • java中的自定义键盘快捷键

    I am developing a java swing application I want to add a keyboard shortcut say CTRL H This should perform the same actio
  • 在 Internet Explorer 7 中使用 z-Index 定位 div

    我有两个相对定位的 DIV A 和 B a 有一个名为 A 的 DIV 作为子元素 它是绝对定位的 z 索引为 1000 DIV B 是 DIV B 的子元素 也是绝对定位的 Firefox 按预期呈现 A B B A 从距用户最近到最远
  • Boost.MultiIndex:如何进行有效的集合交集?

    假设我们有一个data1 and data2 我怎样才能将它们与std set intersect struct pID int ID unsigned int IDf postition in the file pID int id co
  • UNIQUE 约束是否会自动在字段上创建索引?

    我是不是该定义一个单独的索引 on the email列 用于搜索目的 或者索引是 自动 添加的UNIQ EMAIL USER约束 CREATE TABLE IF NOT EXISTS customer id int 11 NOT NULL
  • 为什么我的node_modules中有@angular/core,但仍然出现此错误?

    我从 angular io 下载了一个示例项目 从这里https angular io generated zips cli quickstart cli quickstart zip https angular io generated
  • Flutter:如何更新 firestore 中数组中的数组

    消防银行 https i stack imgur com 5R9Qz png 我需要更新索引数组 0 中的状态字段 其中时间 8 00 我需要将此状态传递给 0 只是该数组位于图像中的矩阵内被视为计时器 如何通过将 status 1 字段更
  • CsvHelper - 在同一 CSV 中读取不同的记录类型

    我正在尝试从具有以下结构的 CSV 文件中读取两种类型的记录 PlaceName Longitude Latitude Elevation NameString 123 456 56 78 40 Date Count 1 1 2012 1
  • 确定一个数组是否包含在另一个数组中

    如何确定一个数组是否包含在另一个数组中 逐个元素且按顺序 我已经在 MSVS 2010 中编写了下面的程序 但不太确定如何完成确定一个数组是否出现在另一个数组中的布尔函数 void isContained int ar1 int ar2 i
  • x&&y||z 是如何计算的?

    Given int x 1 y 2 z 您能解释一下为什么结果是 x y z is 1 x y 1 x y z 1 x y z 相当于 x y z if x 1 and y 2 then x y is 1 2这是true true这是tru
  • 如何在 Neo4j Cypher 上使字符串包含过滤器

    我需要在 Neo4J 中创建一个包含过滤器的字符串 这个想法很简单 一个很好的例子是 我需要从人员数据库中检索姓名中包含汽车子字符串的所有人员 我怎样才能做到这一点 作为附加更新 从 neo4j 3 0 开始 它可能更易于使用 MATCH
  • DirectX/OpenGL 中的三角形绘制顺序

    3D API 中绘制三角形的顺序是否保证与其在索引缓冲区中的顺序相同 例如 如果我在一次绘制调用中有两个重叠的三角形 并且禁用深度测试 那么第一个或第二个三角形最终是否可见 或者我是否需要发出单独的绘制调用以确保第二个三角形出现在第一个三角
  • Zend Select 具有自连接覆盖字段

    帖子和评论存储在同一个表中 因此 为了获取每个帖子及其评论 我们这样做 posts this gt select gt setIntegrityCheck false gt from array post gt Posts array gt
  • 第一个元素偏移量

    结构的第一个元素的偏移量为 0 是否是保证 为了更准确 让我们考虑一下 struct foo int a double b struct foo ptr malloc sizeof struct foo int int ptr ptr gt
  • 您是否使用 TestInitialize 或测试类构造函数来准备每个测试?为什么?

    这个问题涉及使用 MSTest 在 Visual Studio 中进行单元测试 这很重要 因为 MSTest 的执行顺序 http blogs msdn com nnaderi archive 2007 02 17 explaining e
  • 如何修复轮询时的 Cucumber 期望错误?

    我有帮手sign in登录用户 我正在尝试使用一种新方法来确保用户使用轮询登录 def sign in user password 111111 click button sign in btn eventually 5 page shou
  • 在plsql中编写函数

    我正在查询数据库 需要解析其中一个字段以获取特定值 使用字符串函数 所以我认为最好为其编写一个函数 我以前从未在 plsql 中编写过函数 所以我决定看一些示例 我得到了一个简单的 square 函数的副本 它接受一个数字并返回它的平方 但