plsql相关内容

从 oracle 获取函数列表和过程签名

是否有任何查询可以为我提供函数/过程的签名详细信息.我在看返回类型,函数名,参数类型,是否为IN/OUT/INOUT. 我知道这个 线程,但它只提供名称 解决方案 这是一个生成 PL/SQL 函数原型的小脚本: DECLARE-- 这里的局部变量strPrev_object VARCHAR2(30);strReturn_type VARCHAR2(30);strProcedure_ ..
发布时间:2021-12-24 16:18:18 数据库

我们如何确定我的 oracle 表中的列正在被另一个表的触发器填充/更新?

考虑一个场景,其中有两个表“A"和“B". 表“A"有一个触发器“Ta"[在我加入这个项目之前很久就写好了,因此我完全不知道触发器],它更新了表“B"中名为“colB"的列. 现在,由于我主要使用表“B"并担心“colB"的获取方式,因此我不知道触发器“Ta"是否正在更新此列. 所以我的问题是,是否有直接的 oracle 查询/方法来查找一个表中的列是否被另一个表上运行的任何触发 ..
发布时间:2021-12-24 16:18:13 数据库

在 IN 子句中为 NUMBER 列使用逗号分隔值

我在一个包中有 2 个程序.我正在调用一个程序来获取用户 ID 的逗号分隔列表. 我将结果存储在 VARCHAR 变量中.现在,当我使用此逗号分隔列表放入 IN 子句中时,它会抛出“ORA-01722:INVALID NUMBER" 异常. 这就是我的变量的样子 l_userIds VARCHAR2(4000) := null; 这是我赋值的地方 l_userIds := get ..
发布时间:2021-12-24 16:18:02 数据库

如何将 Oracle PL/SQL 包中的电子邮件发送给多个收件人?

如何将 Oracle PL/SQL 包中的电子邮件发送给多个收件人?我在 oracle 包中有以下 pl/sql 程序,它仅适用于一个接收器.我需要改进它的功能,让它可以同时向多个接收者发送电子邮件,比如“To: David Festool; Peter Makita; John Dewalt".任何机构可以帮助我将不胜感激!请提供修改后的代码. 过程邮件(varchar2中的p_recip,v ..
发布时间:2021-12-24 16:17:49 数据库

使用“嵌套"oracle中的交易

我在 Oracle 中遇到事务问题.我有一些这样的程序: 创建或替换过程 myschema.DataSave(v_value IN NUMBER)作为开始设置事务隔离级别读取已提交;开始插入/更新/删除...当 OTHERS 然后转到错误时的异常;结尾;犯罪;返回;>回滚;返回;结尾;/ 我正在以这种形式从 c# 项目调用此过程: ...string conn_str = "... ..
发布时间:2021-12-24 16:17:43 C#/.NET

检查字符串是否为有效日期

我有一个带有 sourcefilename 字段的表,它有 5 条记录.以下是记录. SN.源文件名1. 20170215095453_1.Iredell Memorial Hospital 牙科资格证书.xls_INFREPT01.txt2. Iredell Memorial Hospital 资格 2017 年 4 月.xls_INFREPT01.txt3. Iredell Memorial ..
发布时间:2021-12-24 16:17:30 数据库

如何在语句的触发器内获取受语句影响的行数

我有一个语句级触发器,每当对表(称为客户)执行 INSERT UPDATE 或 DELETE 操作时都会触发该触发器.我想显示一条消息(到 DBMS_OUTPUT),其中包含插入/更新/删除的行数. 我只想为每个触发语句发送一条消息,例如'4 行被插入到客户表中'. 如何从触发器声明的内部访问受触发语句影响的行数,即下面代码中的XXX: 创建或替换触发器 customer_chang ..
发布时间:2021-12-24 16:17:09 数据库

Oracle PL/SQL select into 变量

我尝试在 SQL Developer 中运行以下查询,但收到错误消息.我试图声明两个局部变量(var_num1 和 payDate),然后设置变量.有谁知道我可能做错了什么?我知道 Oracle SQL 与 SQL Server 略有不同. DECLAREvar_num1 号;付款日期;开始var_num1 := 100;支付日期:= '10/1/2013'开始SELECT * FROM Pay ..
发布时间:2021-12-24 16:17:02 数据库

ALL_PROCEDURES 视图不显示 PROCEDURE_NAME

为什么我在 user_procedures 视图中看不到我的程序?为什么 all_procedures 视图上的 procedure_name 过滤器不返回任何行. 这个问题主要是为了帮助那些正在寻找类似问题的人.我希望任何寻找此类问题的人都能在这里找到答案. 测试用例: SQL>显示用户用户是“LALIT"SQL>创建或替换2 程序 new_proc3 AS4 开始5 空;6 结束 ..
发布时间:2021-12-24 16:16:57 数据库

PL/SQL 是否具有与 Java 等效的 StringTokenizer?

我使用 java.util.StringTokenizer 来简单解析 java 中的分隔字符串.我需要在 pl/sql 中使用相同类型的机制.我可以写它,但如果它已经存在,我更愿意使用它.有人知道 pl/sql 实现吗?一些有用的替代方案? 解决方案 PL/SQL 确实包含一个基本的逗号分隔列表 (DBMS_UTILITY.COMMA_TO_TABLE). 示例: DECLARE ..
发布时间:2021-12-24 16:16:51 数据库

游标中的 PL/SQL 变量是否与绑定参数有效相同?

我听说使用绑定变量(可以)更有效,因为对于具有不同绑定值的后续调用,查询本身仍然相同,因此不再需要对其进行解析. 我理解为什么固定值会出现这种情况.在下面的游标中,该值固定为 1.如果我有一个相同的不同游标,除了 1 变为 2,这是一个不同的查询.到目前为止清除. 声明游标 C_CURSOR 是select * from TESTTABLE pt where pt.ID = 1; 但我想 ..
发布时间:2021-12-24 16:16:44 数据库

在 Oracle 中反转这条路径 z/y/x 到 x/y/z

我将如何在 SELECT 查询中反转此路径: z/y/x 为了 x/y/z 其中/是分隔符并且在一行中可以有很多分隔符 ex: select (... z/y/x/w/v/u ...) reversed_pa​​th from ... 解决方案 最简单的方法可能是编写一个存储的 pl/sql 函数,但是它可以单独使用 SQL (Oracle) 来完成. 这将分解子路径中的路径: ..
发布时间:2021-12-24 16:16:26 数据库

SQL 列名称与 PL/SQL 变量名称相同 - 如何在选择语句中完成此操作?

假设我有一张桌子: 创建表 foo (col_1 号;col_2 号;); 然后我有以下代码 声明col_1 号;col_2 号;开始col_1 := 1;从 foo 中选择 col_2 到 col_2,其中 col_1 = col_1;结尾; 当然这不会按预期工作.如何在不需要更改变量名称的情况下使其工作? 解决方案 如果您对 “无需更改变量名称"的定义足够自由,则可以..阅读精 ..
发布时间:2021-12-24 16:16:18 数据库

Oracle PL/SQL 获取服务器的 IP v4?

如何使用 PL/SQL 获取服务器的 IP v4?UTL_INADDR.GET_HOST_ADDRESS 给了我 IPv6,而我需要 IPv4 我做了什么我在服务器上禁用了 IPv6,它仍然给我带来了“隧道适配器 Teredo 隧道伪接口"的 IPv6 !! 我在 Windows 2008 R2 服务器上使用 Oracle 11g 数据库 解决方案 UTL_INADDR.GET ..
发布时间:2021-12-24 16:16:11 数据库

一句话中的最后一个词:在 SQL 中(可能使用正则表达式?)

我需要在 Oracle SQL (10gR2) 中完成此操作.但我想,我宁愿说白了,任何好的、高效的算法都可以. 给定一行(或句子,包含一个或多个单词,英语),你将如何找到句子的最后一个单词? 这是我在 SQL 中尝试过的.但是,我希望看到一种有效的方式来做到这一点. select reverse(substr(reverse(&p_word_in), 0, instr(revers ..
发布时间:2021-12-24 16:16:07 数据库