plsql相关内容

ORA-22275: 指定的 LOB 定位器无效

我有一个巨大的 Oracle 函数,用于计算 6 个表中的数据. 创建或替换 FUNCTION STATISTICS_FUNCTION(NAMEIN IN VARCHAR2)返回 CLOB作为LAST_60_CPU 数量;………………线 CLOB;CURSOR LAST_60_CPU_CURSOR 是………………开始线 := EMPTY_CLOB();DBMS_LOB.CREATETEMPORA ..
发布时间:2021-12-24 16:31:04 数据库

从触发器中捕获包/过程/函数名称

我有一个表 (Oracle 11g),多个包/存储过程在该表上运行 DML 语句.我想使用触发器捕获在表上发出 DML 的包/过程名称,并将其记录到日志记录表中. 例如: 包MY_PACK.MY_PROC() 为表mytab 发出insert into....我会在 mytab 上设计一个触发器,它应该能够捕获发出 insert into.. 的包/过程名称并将此信息存储在另一个表中 ..
发布时间:2021-12-24 16:30:52 数据库

Oracle Advance Queue - 出队不工作

我似乎无法找到解决问题的方法,我已经被困在这个问题上好几个小时了. 我正在使用 Oracle AQ: Dbms_Aqadm.Create_Queue_Table(Queue_Table => 'ITEM_EVENT_QT',Queue_Payload_Type =>'ITEM_EVENT',Multiple_Consumers =>真的);Dbms_Aqadm.Create_Queue( ..
发布时间:2021-12-24 16:30:42 数据库

Oracle PL/SQL UTL_FILE.PUT 缓冲

我正在从 Oracle 存储过程中写入一个大于 7MB 的大文件,并且要求在每条记录的末尾没有行终止字符(没有回车/换行). 我已经使用 UTL_FILE.PUT 编写了一个存储过程,并且我正在使用 UTL_FILE.FFLUSH 跟踪对 UTL_FILE.PUT 的每次调用.尽管我正在进行 FFLUSH 调用,但一旦我达到写入超过缓冲区大小(设置为最大 32767)的程度,此过程就会出现写 ..
发布时间:2021-12-24 16:30:31 数据库

Oracle 相当于 Java 的 Varargs

我正在尝试创建一个 PL/SQL 过程,该过程可以将未知但数量相对较少的字符串/Varchar2 作为参数处理.Java 中的等价物可能是使用 Varargs: public void foo(String... bar) {} 查看 Oracle 的关于集合和记录的文档使用关联数组似乎是一个合适的选择,但我不确定. 你能告诉我关联数组是否是正确的方法吗? 是否可以在调用过程时传入 ..
发布时间:2021-12-24 16:30:24 数据库

为什么只从数据库视图中选择时会得到一个打开的事务?

如果我在 pl/sql developer 中对一个数据库表执行一个简单的 select 语句,我会按照我的预期得到一组标准的结果. 最近,我粘贴了一个来自存储过程的查询,该查询碰巧从视图中选择,并注意到一个事务似乎保持打开状态.这是明显的回滚和提交选项在 PL/SQL 开发人员中可用. 对其他开发人员的调查显示,这似乎影响了一些但不影响其他开发人员,这让我怀疑 PL/SQL Deve ..
发布时间:2021-12-24 16:30:16 数据库

在 Oracle 中定义局部变量的最简单方法是什么?

在 SQL Server 中,我可以像这样定义局部变量. 声明@id 编号:= 1000select * from tbl_A where id = @id;select * from tbl_B where id = @id; 非常方便.我试图在 PL/SQL 中做同样的事情,但它不起作用. DECLARE 身份证号码;从 dual 中选择 1000 到 id 中; 你知道如何做类似的事 ..
发布时间:2021-12-24 16:30:11 数据库

在 PL/SQL 中打印记录字段

如何在 PL/SQL 中打印记录变量的所有字段.记录变量有很多字段,所以有没有比打印每个字段更好的方法?也试过动态sql但没有帮助. 解决方案 建立在 Ollies 上使用 dbms_output,但用于动态遍历游标 设置测试 /*create table temp (aa varchar2(50) , bb number , cc date ) ;插入 temp (aa,bb,c ..
发布时间:2021-12-24 16:30:04 数据库

小于或等于 Oracle SQL

updated_date = 08-Jun-2010; 我有一个这样的查询 select * from asd whre updated_date 但我没有得到任何结果.它仅适用于 todate 是 09-Jun-2010... 即我的 equalto 操作符工作不正常. 为什么会这样? 解决方案 在 Oracle 中,DATE 是一个时间点.它总是有一个精确到秒的时间 ..
发布时间:2021-12-24 16:29:55 数据库

PL/SQL 查询 IN 逗号分隔的字符串

我正在 Oracle APEX 中开发应用程序.我有一个以逗号分隔的用户 ID 字符串,看起来像这样, 45,4932,20,19 这个字符串存储为 :P5_USER_ID_LIST 我想要一个查询来查找此列表中的所有用户,我的查询如下所示 SELECT * FROM users u WHERE u.user_id IN (:P5_USER_ID_LIST); 我不断收到 Oracle ..
发布时间:2021-12-24 16:29:50 数据库

Oracle 错误 ORA-06512

就是不明白为什么它给我 ORA-06512 错误 PROCEDURE PX(pNum INT,pIdM INT,pCv VARCHAR2,pSup FLOAT)作为vSOME_EX 异常;开始IF ((pNum 14)) THEN提高 vSOME_EX;别的EXECUTE IMMEDIATE 'INSERT INTO M'||pNum||'GR (CV, SUP, IDM'||pNum||') ..
发布时间:2021-12-24 16:29:41 数据库

选择到Oracle中的临时表

我正在尝试执行以下操作, select * into temp from (select * from student); 它给了我以下错误, 错误在第 1 行:ORA-00905: 缺少关键字 在我的真实示例中,子查询(select * from student)更复杂. 我想在存储过程中使用它,所以我不想创建表本身.我只想通过使用临时表使我的代码更具可读性. 解决方案 那 ..
发布时间:2021-12-24 16:29:33 数据库

为什么 SUM(null) 在 Oracle 中不为 0?

遇到空值时,请解释 SUM 函数在 Oracle 中的内部功能,我们将不胜感激: 的结果 select sum(null) from dual;一片空白 但是当一个空值在一个值序列中时(比如一个可为空的列的总和),空值的计算值为0 select sum(value) from(选择 case when mod(level , 2) = 0 then null else level ..
发布时间:2021-12-24 16:29:19 数据库

为什么我不能将 SELECT ... FOR UPDATE 与聚合函数一起使用?

我有一个应用程序,我在其中找到一组记录的数据库列的 sum() ,然后在单独的查询中使用该总和,类似于以下内容(组成表,但想法相同): SELECT Sum(cost)INTO v_cost_total来自材料WHERE material_id >=0AND material_id =0AND material_id 但是,理论上有人可以在两次查询之间更新材料表上的成本列,在这种情况下,计算 ..
发布时间:2021-12-24 16:28:54 数据库

如何从 Oracle 中的声明/开始/结束块返回行?

我想从声明/开始/结束块中的选择语句返回行.我可以在 T-SQL 中做到这一点,但我想知道如何在 PL/SQL 中做到这一点. 代码看起来有点像下面: 声明等等数字:= 42;开始选择 *从 x其中 x.value = blah;结尾; 解决方案 一个匿名 PL/SQL 块,就像你展示的那样,不能“返回"任何东西.然而,它可以通过绑定变量与调用者交互. 因此,在这种情况下,我将使 ..
发布时间:2021-12-24 16:28:45 数据库

检查plsql中的记录不是空的

我有一个函数可以返回类型为 my_table%ROWTYPE 的记录,并且在调用者中,我可以检查返回的记录是否为空,但是 PL/SQL 抱怨 if 语句 PLS-00306:调用“IS NOT NULL"时的参数数量或类型错误 这是我的代码: v_record my_table%ROWTYPE;v_row_id my_table.row_id%TYPE := 123456;开始v_r ..
发布时间:2021-12-24 16:28:27 其他开发

使用来自 0jdbc6 JDBCthin 驱动程序的自定义对象返回类型调用 Oracle PL/SQL 过程

我正在编写一些 JDBC 代码,它调用具有自定义对象返回类型的 Oracle 11g PL/SQL 过程.每当我尝试注册我的返回类型时,根据我设置的类型执行语句时,我都会收到 ORA-03115 或 PLS-00306 作为错误.示例如下: PLSQL 代码: 过程 GetDataSummary (p_my_key IN KEYS.MY_KEY%TYPE,p_recordset OUT d ..
发布时间:2021-12-24 16:28:21 Java开发