plsql相关内容

ORA-04021: 等待锁定对象时发生超时

我有这个匿名 PL/SQL 块,它计算并打印从表中返回的值. DECLAREU_ID 号 :=39;零售 BINARY_FLOAT:=1;旗号;开始SELECT NVL(RETAIL_AMOUNT,1),UNIT_ID INTO RETAIL, FLAG FROM UNITS WHERE UNIT_ID=U_ID;环形SELECT NVL(MAX(UNIT_ID),U_ID) INTO FLAG ..
发布时间:2021-12-24 16:23:25 数据库

将日期与预定义格式 pl sql 进行比较

我有一个函数,它应该接受 DD-MON-YY 格式的日期,并且应该以 DD-MM-YYYY 格式显示.我创建的函数是: 创建或替换函数 PRINT_IT(abc date)归期是v_date 日期;开始if regexp_like(abc,'^[0-9]{2}-[a-z]{3}-[0-9]{2}$')然后v_date := TO_DATE(abc,'DD-MM-YYYY');别的dbms_out ..
发布时间:2021-12-24 16:23:18 数据库

Oracle 从多个表中删除行

我正在尝试从多个表中删除行,但在 medewerkers m 中出现语法错误, 谁能告诉我我在这里做错了什么?: declarev_mnr medewerkers.mnr%type;程序 ontsla_med(medewerkers.mnr%type 中的 p_mnr)是开始从 medewerkers m, INSCHRIJVINGEN i , UITVOERINGEN u 中删除,其 ..
发布时间:2021-12-24 16:23:03 数据库

累积添加上个月或上年的缺失数据

假设我有以下数据: select 1 id, 'A' name, '2007' 年, '04' 月, 5 个来自双联的销售 allselect 2 id, 'A' name, '2007' year, '05' month, 2 sales from dual union allselect 3 id, 'B' name, '2008' year, '12' month, 3 sales fro ..
发布时间:2021-12-24 16:22:55 数据库

PL/SQL 触发器获取变异表错误

我的触发器想检查“新"经理是否监督不超过 5 名员工.BLOCKED_MANAGER 表(ssn,numberofemployees)中只管理 5 个人的经理.最后,每次更新都记录在 SUPERLOG 表中(日期,用户,old_manager,new_manager).我没有收到有关触发器的编译错误,但是当我更新 superssn 时,我收到此错误: SQL>更新员工集 superssn='66 ..
发布时间:2021-12-24 16:22:47 其他开发

在 pl/sql 中的同一过程中创建表和插入

我正在尝试创建一个表,然后在 pl/sql 的同一过程中在其中插入一些值.我尝试运行以下查询但没有成功: 创建或替换过程insertval8(id_no in number,e_name in char)是开始立即执行'创建表 edu2(id number(20), name char(12))';插入 edu2 值(&id_no,&e_name);结尾; 显示 行/列错误————————— ..
发布时间:2021-12-24 16:22:41 数据库

PLSQL 按问题排序

回滚到第一个修订版,然后进行了一些编辑.请参阅修订后的问题. 我对下面的 SELECT 有一个有趣的问题. 关于 ORDER BY 子句;我正在尝试使用名为“p_sortby"的变量进行排序. Order by 可用于列名或列位置,(1, 2, … etc.). 不知何故,如果我在 PL/SQL 中使用位置,它不起作用.所以我必须使用列名,我们不能简单地在那里传递一个 varc ..
发布时间:2021-12-24 16:22:34 其他开发

regexp_substr 跳过空位置

使用此代码返回管道分隔字符串中的第 n 个值... regexp_substr(int_record.interfaceline, '[^|]+', 1, i) 当所有值都存在时它工作正常 Mike|Male|Yes|20000|Yes 所以 3rd 值为 Yes(正确) 但是如果字符串是 Mike|Male||20000|Yes,第三个值是20000(不是我想要的) ..
发布时间:2021-12-24 16:22:24 数据库

在 PL/SQL 中反转字符串的过程

我刚开始学习 PL/SQL,但不确定如何创建过程.逻辑似乎是正确的,但我认为第一行中有一些语法错误.这是我的代码:- CREATE OR REPLACE PROCEDURE ReverseOf(input IN varchar2(50)) IS宣布反向 varchar2(50);开始FOR i in reverse 1..length(input) LOOP反向 := 反向||''||subst ..
发布时间:2021-12-24 16:22:12 数据库

在 PL/SQL Developer 中运行的日期查询显示时间,但在 Oracle SQL Developer 中不显示

在 PL/SQL Developer 中运行的相同查询显示时间,但在 Oracle SQL Developer 中不显示.有没有办法在 SQL Developer 中获得时间? 在 SQL Developer 中: 在 PL/SQL 中: 这是日期字段的详细信息: 解决方案 您可以在 SQL 开发人员的工具/首选项对话框中更改此设置: 在左侧的树视图中选择 Data ..
发布时间:2021-12-24 16:22:03 其他开发

立即执行创建表和更新表

我正在 pl/sql 中创建一个临时表,使用立即执行 &也在表中插入为什么要创建表. 在那之后我更新了表格.但是我得到的错误表不存在,因为它没有创建表 thr 立即执行 示例代码--------- 开始立即执行'create table t23 as select ''1'' aa from dual';更新 t23 set aa='2' where aa='1';犯罪 ;结尾; ..
发布时间:2021-12-24 16:21:48 其他开发

Oracle:动态 SQL

我正在尝试编写Oracle动态SQL来做行计数,下面是我的方法,请帮我完成. 这是我选择生成单个计数语句: select 'select count(*) from '||table_name||';'来自 dba_tables其中所有者 = 'URR'; 我是这样开始的: 声明l_owner varchar2(30) := 'URR';l_table_name varchar2(30 ..
发布时间:2021-12-24 16:21:44 数据库

计算大型 Oracle 表中的 CLOB 重复项

我有一个 Oracle 数据库表 LOG_MESSAGES,其中有一个名为 MESSAGE 的 CLOB 列.某些行包含相同的 MESSAGE. 对于每个至少有一个重复的 MESSAGE,我想知道重复的数量.相当多的这些 CLOB 很大(> 100 kB),因此转换为 VARCHAR2 是不可能的.由于GROUP BY等很多传统方法不适用于CLOB,请大神指教一下? 有关信息,该表非常 ..
发布时间:2021-12-24 16:21:36 数据库

如何通过 pl/sql 发送电子邮件

我想使用 *oracle 9i - Enterprise edition release 9.2.0.8.0 发送电子邮件,*我知道有一个适用于 oracle 10 的软件包,但是您能建议我为 oracle 9i 使用它吗?有包吗? 我可以通过 Oracle 9i 发送电子邮件吗?如果Oracle 9i 无法发送邮件... 我的意思是我只是将参数发送到该程序并使用该程序发送电子邮件.我 ..
发布时间:2021-12-24 16:21:27 数据库

Oracle 性能 IN 或 OR

oracle 中哪个操作符能提供更好的性能 IN 或 OR 例如: select * from table where y in (1,2,3) 或 select * from table where y = 1 or y = 2 or y = 3 解决方案 你想要做一个明确的解释计划,但我希望性能是相同的. ..
发布时间:2021-12-24 16:21:23 数据库

执行包时出错

表格结构: 名称空类型---------- ---- ------------DPT_NO NUMBER薪金编号(10)期间 VARCHAR2(10)START_DATE 日期END_DATE 日期 包装: 创建或替换包体salary_sal AS程序 find_sal(c_dpt_nosalary.dpt_no%TYPE) 是c_sal 工资.salary%TYPE;开始SELECT 工资 ..
发布时间:2021-12-24 16:21:15 数据库

使用oracle plsql触发器从生日计算年龄并将年龄插入表中

我有一张桌子 日期(分娩日期,年龄(4)); 我将插入一个出生日期,一个触发器将计算年龄并将该年龄插入到年龄字段中. CREATE OR REPLACE PROCEDURE getage IS日期;号码(10);开始从日期中选择 dob 到 ndob;select (sysdate-to_date(ndob))/365 from dual;更新日期设置年龄= nage;结尾;/显示错误; ..
发布时间:2021-12-24 16:20:52 数据库