plsql相关内容

Oracle PL/SQL的单元测试框架?

我对 MS SQL Server 提出了疑问(和答案),尽管我还不知道针对Oracle和PL/SQL的一种.是否有针对Oracle PL/SQL的xUnit样式测试框架?他们是什么? 解决方案 最常用的可能是 utPLSQL 此工具包的原始作者现在可用于Quest,该工具具有商业PL /SQL单元测试应用程序. ..
发布时间:2020-05-21 23:19:34 数据库

在存储过程中截断表

当我在Oracle shell中运行以下命令时,它工作正常 truncate table table_name 但是当我尝试将其放入存储过程中 CREATE OR REPLACE PROCEDURE test IS BEGIN truncate table table_name; END test; / 失败 ERROR line 3, col 14, endin ..
发布时间:2020-05-21 23:19:28 数据库

通过PL/SQL块中的字符串变量创建用户

我将Oracle XE用于开发PHP应用程序的唯一目的,而11g版本显然已经失去了管理10g曾经拥有的用户的GUI工具,因此我想准备一个代码段来从命令行创建用户.我正在尝试定义变量,因此我不需要键入相同的用户名16次,但语法不正确: DECLARE my_user VARCHAR2(30) := 'foo'; my_password VARCHAR2(9) := '1234' ..
发布时间:2020-05-21 23:17:25 数据库

PL/SQL逗号分隔列表;去除小块,放入数组

在PL/SQL过程中,我用逗号分隔的列表作为字符串.我需要 删除重复项 将列表放入数组中. 我发现有多种方法可以做到这两种,但不能同时做到. 有帮助吗? 解决方案 有一个众所周知的SQL技巧,可以将以逗号分隔的列表转换为行.只需使用该技巧,添加一个DISTINCT关键字,然后将结果BULK COLLECT放入您的数组中(我假设您是说集合). DECLARE p_te ..
发布时间:2020-05-21 23:17:02 数据库

尝试通过PL/SQL导出Oracle给出了注册日期

我继承了一个Oracle .dmp文件,我正在尝试将该文件导入CSV,以便可以将其加载到MySQL中. 描述了我正在使用的一般方法此处.我在一行中遇到了问题.它包含的日期为5544-09-14,如下所示: alter session set nls_date_format = 'dd-MON-yyyy'; select OID, REF, TRADING_DATE From LOAN ..
发布时间:2020-05-21 23:16:25 数据库

oracle PL/SQL如何为IPv6 cidr计算范围ip

例如具有CIDR的IPv6地址: 2620:0:2d0:200 :: 7/32 输出 起始范围:2620:0:0:0:0:0:0:0 结束范围:2620:0:ffff:ffff:ffff:ffff:ffff:ffff 如何使用PL/SQL计算? 解决方案 一旦我编写了一个通用的PL/SQL程序包,您就可以在其中进行此类转换.它适用于IPv4和IPv6. CREATE OR RE ..
发布时间:2020-05-21 23:16:08 数据库

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

我有一个语句级触发器,该触发器将在对表(称为客户)执行INSERT UPDATE或DELETE操作时触发.我想显示一条消息(发送到DBMS_OUTPUT),其中包含已插入/更新/删除的行数. 我只想为每个触发语句发送一条消息,例如 “在客户表中插入了4行". 如何从INSERT触发器声明中访问受该触发语句影响的行数,即以下代码中的XXX: CREATE OR REPLACE TR ..
发布时间:2020-05-21 23:16:05 数据库

动态SQL循环

动态SQL不是我的朋友,基本上,我的想法是我可以使用带有"p_in_table"参数的过程来获取表中包含的行数. CREATE OR REPLACE PROCEDURE how_many_rows(p_in_table VARCHAR2) IS TYPE cur_cur IS REF CURSOR; v_cur_cur cur_cur; v_rowcount NUMBER(28 ..
发布时间:2020-05-21 23:14:34 数据库

从PL/SQL块运行SCRIPT

如何在pl/sql块中使用"START SCRIPT"? 我想使用这样的东西 declare begin proc(para1,para2); execute immediate 'start prompt1' ; end; / 我也想知道,我可以从提示符1中获取一个值到调用脚本的PL/SQL块中吗?因为我需要使用该值在PL/SQL块中执行一些操作. 解决方案 ..
发布时间:2020-05-21 23:14:28 数据库

Oracle数据类型:我应该使用VARCHAR2还是CHAR

我应该在Oracle中使用VARCHAR2还是CHAR作为数据类型? 有人建议我对我需要的这些新表使用CHAR,但我担心,因为这些新表将用于填充使用VARCHAR2数据类型的现有表.我担心在VARCHAR2字段中放置多余的空格以及比较问题.我知道可以通过修整或转换来比较它们,但恐怕会使我的代码变得混乱和混乱. 您对此有何看法? 解决方案 我担心在VARCHAR2字段中放置多 ..
发布时间:2020-05-21 23:14:19 数据库

Oracle是否会因错误而回滚事务?

这似乎是一个愚蠢的问题,但是我在有关事务管理的Oracle概念指南中看到以下内容: 以下任何一项交易结束 发生以下情况: 用户发出COMMIT或ROLLBACK 没有SAVEPOINT子句的语句. 用户运行DDL语句,例如 创建,删除,重命名或更改.如果 当前交易包含任何DML 语句,Oracle首先提交 事务,然后运行并提交 DDL语句作为一个新的,单一的 结单交易. 用 ..
发布时间:2020-05-21 23:12:54 数据库

系统日期差异

有这样的电话 some_proc(sysdate, sysdate); select some_func(sysdate, sysdate) from dual 我想知道两个sysdate调用是否有可能给出不同的值? sysdate不会仅由于执行速度而改变吗? 解决方案 some_proc(sysdate, sysdate); -在PL/SQL语句中使用sysdate并不总是相同 ..
发布时间:2020-05-21 23:12:46 数据库

Oracle-为什么我应该使用软件包而不是独立的过程或函数

我搜索了google,但没有找到关于我为什么要使用软件包的令人满意的答案. 我知道一个程序包是一组过程,函数和不同的变量.据我了解,它与OOP中的对象相对应.但是,当然没有什么比实例化包的不同实例更重要的了,每个实例将具有不同的属性值并具有不同的行为. 那么当我可以创建一个独立的过程并独立调用它时,使用软件包的好处是什么? 解决方案 包具有以下优点: 凝聚力:与特定子系统 ..
发布时间:2020-05-21 23:12:20 数据库