plsql相关内容
是否有任何查询可以为我提供函数/过程的签名详细信息.我在看返回类型,函数名,参数类型,是否为IN/OUT/INOUT. 我知道这个 线程,但它只提供名称 解决方案 这是一个生成 PL/SQL 函数原型的小脚本: DECLARE-- 这里的局部变量strPrev_object VARCHAR2(30);strReturn_type VARCHAR2(30);strProcedure_
..
考虑一个场景,其中有两个表“A"和“B". 表“A"有一个触发器“Ta"[在我加入这个项目之前很久就写好了,因此我完全不知道触发器],它更新了表“B"中名为“colB"的列. 现在,由于我主要使用表“B"并担心“colB"的获取方式,因此我不知道触发器“Ta"是否正在更新此列. 所以我的问题是,是否有直接的 oracle 查询/方法来查找一个表中的列是否被另一个表上运行的任何触发
..
根据这个问题,执行的方式Oracle 中的相等检查,我希望将 null 视为相等的 null 类似于 SELECT COUNT(1)从表A在哪里wrap_up_cd = valAND ((brn_brand_id = filter) OR (brn_brand_id IS NULL AND filter IS NULL)) 这确实会使我的代码变脏,尤其是当我有很多这样的 where 并且 wh
..
我在一个包中有 2 个程序.我正在调用一个程序来获取用户 ID 的逗号分隔列表. 我将结果存储在 VARCHAR 变量中.现在,当我使用此逗号分隔列表放入 IN 子句中时,它会抛出“ORA-01722:INVALID NUMBER" 异常. 这就是我的变量的样子 l_userIds VARCHAR2(4000) := null; 这是我赋值的地方 l_userIds := get
..
我使用以下脚本从 MongoDB 读取数据作为 JSON 文件. DECLAREl_param_list VARCHAR2(512);l_http_request UTL_HTTP.req;l_http_response UTL_HTTP.resp;l_response_text CLOB;--l_response_text VARCHAR2(32767);l_list json_list;A_
..
如何将 Oracle PL/SQL 包中的电子邮件发送给多个收件人?我在 oracle 包中有以下 pl/sql 程序,它仅适用于一个接收器.我需要改进它的功能,让它可以同时向多个接收者发送电子邮件,比如“To: David Festool; Peter Makita; John Dewalt".任何机构可以帮助我将不胜感激!请提供修改后的代码. 过程邮件(varchar2中的p_recip,v
..
我在 Oracle 中遇到事务问题.我有一些这样的程序: 创建或替换过程 myschema.DataSave(v_value IN NUMBER)作为开始设置事务隔离级别读取已提交;开始插入/更新/删除...当 OTHERS 然后转到错误时的异常;结尾;犯罪;返回;>回滚;返回;结尾;/ 我正在以这种形式从 c# 项目调用此过程: ...string conn_str = "...
..
我有一个带有 sourcefilename 字段的表,它有 5 条记录.以下是记录. SN.源文件名1. 20170215095453_1.Iredell Memorial Hospital 牙科资格证书.xls_INFREPT01.txt2. Iredell Memorial Hospital 资格 2017 年 4 月.xls_INFREPT01.txt3. Iredell Memorial
..
我有一个关于在 Oracle SQL 函数中使用集合的问题. 包中有类型定义: /* 包类型*/创建或替换 PACKAGE "test" ASTYPE type_record_1 IS 记录 ( id_num NUMBER , timestamp_num NUMBER, value NUMBER);TYPE type_table_1 是 type_record_1 的表;TYPE type
..
我想了解如何调用一个将 SYS_REFCURSOR 作为 IN 参数的 PL/SQL 过程. 考虑以下 PL/SQL 过程: print_cursor_contents(myCursor SYS_REFCURSOR, row_count OUT NUMBER); 在将值绑定到 IN 参数时,我使用哪种 setXXX 方法? 对我来说,一个带有单个游标记录字段的 java 类,因为它
..
我有一个语句级触发器,每当对表(称为客户)执行 INSERT UPDATE 或 DELETE 操作时都会触发该触发器.我想显示一条消息(到 DBMS_OUTPUT),其中包含插入/更新/删除的行数. 我只想为每个触发语句发送一条消息,例如'4 行被插入到客户表中'. 如何从触发器声明的内部访问受触发语句影响的行数,即下面代码中的XXX: 创建或替换触发器 customer_chang
..
我尝试在 SQL Developer 中运行以下查询,但收到错误消息.我试图声明两个局部变量(var_num1 和 payDate),然后设置变量.有谁知道我可能做错了什么?我知道 Oracle SQL 与 SQL Server 略有不同. DECLAREvar_num1 号;付款日期;开始var_num1 := 100;支付日期:= '10/1/2013'开始SELECT * FROM Pay
..
为什么我在 user_procedures 视图中看不到我的程序?为什么 all_procedures 视图上的 procedure_name 过滤器不返回任何行. 这个问题主要是为了帮助那些正在寻找类似问题的人.我希望任何寻找此类问题的人都能在这里找到答案. 测试用例: SQL>显示用户用户是“LALIT"SQL>创建或替换2 程序 new_proc3 AS4 开始5 空;6 结束
..
我使用 java.util.StringTokenizer 来简单解析 java 中的分隔字符串.我需要在 pl/sql 中使用相同类型的机制.我可以写它,但如果它已经存在,我更愿意使用它.有人知道 pl/sql 实现吗?一些有用的替代方案? 解决方案 PL/SQL 确实包含一个基本的逗号分隔列表 (DBMS_UTILITY.COMMA_TO_TABLE). 示例: DECLARE
..
我听说使用绑定变量(可以)更有效,因为对于具有不同绑定值的后续调用,查询本身仍然相同,因此不再需要对其进行解析. 我理解为什么固定值会出现这种情况.在下面的游标中,该值固定为 1.如果我有一个相同的不同游标,除了 1 变为 2,这是一个不同的查询.到目前为止清除. 声明游标 C_CURSOR 是select * from TESTTABLE pt where pt.ID = 1; 但我想
..
我是 oracle 作业脚本的新手.我写了一些清除程序来清除所有旧数据并保留最近 3 个月的数据...程序已成功执行.当我手动调用时它也可以工作.流程如下: 创建或替换程序存档是v_query varchar2(2048);v_tablename VARCHAR2(50);v_condition varchar2(50);TYPE cur_typ IS REF CURSOR;c cur_typ;
..
我将如何在 SELECT 查询中反转此路径: z/y/x 为了 x/y/z 其中/是分隔符并且在一行中可以有很多分隔符 ex: select (... z/y/x/w/v/u ...) reversed_path from ... 解决方案 最简单的方法可能是编写一个存储的 pl/sql 函数,但是它可以单独使用 SQL (Oracle) 来完成. 这将分解子路径中的路径:
..
假设我有一张桌子: 创建表 foo (col_1 号;col_2 号;); 然后我有以下代码 声明col_1 号;col_2 号;开始col_1 := 1;从 foo 中选择 col_2 到 col_2,其中 col_1 = col_1;结尾; 当然这不会按预期工作.如何在不需要更改变量名称的情况下使其工作? 解决方案 如果您对 “无需更改变量名称"的定义足够自由,则可以..阅读精
..
如何使用 PL/SQL 获取服务器的 IP v4?UTL_INADDR.GET_HOST_ADDRESS 给了我 IPv6,而我需要 IPv4 我做了什么我在服务器上禁用了 IPv6,它仍然给我带来了“隧道适配器 Teredo 隧道伪接口"的 IPv6 !! 我在 Windows 2008 R2 服务器上使用 Oracle 11g 数据库 解决方案 UTL_INADDR.GET
..
我需要在 Oracle SQL (10gR2) 中完成此操作.但我想,我宁愿说白了,任何好的、高效的算法都可以. 给定一行(或句子,包含一个或多个单词,英语),你将如何找到句子的最后一个单词? 这是我在 SQL 中尝试过的.但是,我希望看到一种有效的方式来做到这一点. select reverse(substr(reverse(&p_word_in), 0, instr(revers
..