之前 没有 接触过,通过 oracle 自定义 函数 处理问题 。今天有个需求 要求修改一批 字典数据的主见 ID ,变成 自增的。
由于之前 字典数据,是程序员自主维护的,主键起名。千奇百怪~所以这边要求统一下,需求很急。
简单的 分析下,无外乎啊就是把数据拿出来,把每条数据的主键更新为 自增变量 , 自增变量累加。这么个很简单的事情~
可是由于平时很少写oralce存储过程 或者 自定义函数,所以只有 思路 却不知道该怎么做。没办法,回归java吧。写了个junit 问题解决。解决问题之后,觉得应该去看看这类简单的问题,因为在以后的工作中 可能会用到。于是乎有了下面代码。
UPDATE tablename SET id='c'||id;//这里是为了防止,下面批量修改的时候报唯一约束错误!,ID 是主键
commit;
DECLARE //类似于java的 声明变量的意思
newid NUMBER(20):=1;
CURSOR vo_array IS SELECT * FROM tablename ;
//CURSOR 指的是 指针。这里声明了一个大的集合类型的指针。
begin
for vo in vo_array loop //有些像 for(String [] var : String_array) 的感觉
update tablename set id = newid where id = vo.id;
newid:=newid+1;
end loop;
end;
分享到:
相关推荐
本教程将详细讲解如何进行批量插入数据到Oracle数据库,以提高数据导入的效率。 批量插入数据到Oracle数据库通常比单条插入更有效率,因为它减少了与数据库的交互次数,降低了网络延迟,并减少了系统资源的占用。...
例如,你可以使用`CREATE INDEX`语句来创建单个索引,然后通过循环结构批量处理多个索引。如果需要删除索引,可以使用`DROP INDEX`语句。为了批量操作,你可能需要构建一个包含所有要操作的索引名的集合,然后遍历...
总的来说,使用存储过程和FOR LOOP循环在Oracle数据库中批量插入数据是一种高效的方法。然而,考虑到不同工具的兼容性,选择合适的执行环境和调整代码结构都是保证程序顺利运行的关键。对于开发和调试过程,推荐使用...
Oracle 数组存储过程批量插入 本文主要讲解了如何使用 Oracle 数组存储过程来实现批量插入功能。通过创建一个存储过程,使用数组作为参数来传递大量数据,然后在存储过程中进行批量插入操作。 首先,需要创建一个...
在Oracle数据库中,批量操作可以显著提高性能,尤其是在处理大量数据时。在提供的文档中,提到了两种方法将数据批量插入Oracle存储过程:一种是通过.NET环境(C#)调用,另一种是通过Java环境。这两种方法都利用了...
在Oracle数据库中,循环游标是一种非常重要的编程技术,它允许开发者通过循环结构来处理查询结果集中的每一行数据。这种技术在处理大量数据时尤为有用,因为它可以逐行访问数据,而无需一次性将所有数据加载到内存中...
- 使用`BULK COLLECT INTO`语句,可以一次收集多行数据到集合中,然后批量插入,减少与数据库的交互次数,提升性能。 - 使用`FORALL`语句与`BULK COLLECT`配合,可以避免循环中每次的DML操作,降低开销。 3. **...
在Oracle数据库中,`BULK COLLECT` 是一种高效的数据检索机制,它允许一次性从数据库中提取多行数据,并将其存储在一个PL/SQL集合中。与传统的游标逐行处理相比,这种机制能够显著提高应用程序的性能,因为它减少了...
`,这通常用于迭代集合并执行操作,但在本例中,测试表明FOR ALL并未带来性能提升,因此选择了直接的批量删除方法。FOR ALL在处理索引多列或复杂条件时可能会有优势,但具体情况需根据实际数据和环境评估。 在执行...
这个“Oracle 存储过程资料集合”显然是一份珍贵的学习资源,其中可能包含了关于如何创建、调用和管理Oracle存储过程的各种文档、教程和示例。 在Oracle数据库中,存储过程是由一个或多个SQL语句和PL/SQL块组成的...
在C#中,进行大数据批量插入到不同的数据库如SQL Server、Oracle、SQLite和MySQL是常见的需求,这可以显著提高数据处理效率。以下将详细介绍如何在这些数据库中实现批量插入。 首先,我们关注C#中一个关键接口`...
此外,文件“家猫编程社区Oracle 批量插入存储过程方法.files”可能包含了辅助材料,如示例数据或错误处理代码。这些辅助材料可以帮助读者更好地理解存储过程的编写和执行,以及如何处理可能出现的异常情况。 批量...
Oracle使用GRANT和REVOKE语句管理用户权限,角色是权限的集合,方便权限的批量授予和撤销。 15. **PL/SQL编程** PL/SQL是Oracle特有的过程式语言,结合SQL用于编写存储过程、函数、触发器等。它支持异常处理、...
Oracle是世界上最广泛使用的数据库管理系统之一,它提供了丰富的功能和高效的数据管理能力。本课件将深入探讨Oracle的基础知识,包括BI(商业智能)概念、Oracle的安装与配置、用户管理和权限控制,以及SQL数据操作...
Oracle BULK COLLECT是Oracle数据库提供的一种高级PL/SQL特性,用于提高数据处理效率,尤其在处理大量数据时。在传统的PL/SQL编程中,我们通常使用循环来逐行处理查询结果,这种方式对于大数据集来说效率低下,因为...
4. ** bulk collect**:Oracle还支持批量收集功能,允许一次提取多行数据,提高性能。例如,可以使用`BULK COLLECT INTO`将游标的结果集直接填充到集合变量中。 游标的使用场景包括但不限于: - 循环处理数据,如...
PL/SQL引入了游标表达式,允许一次性将多行数据收集到集合(如TABLE类型)中,显著提高了批量处理数据的效率。 **绑定变量** 绑定变量是一种提高性能的技术,通过将变量与SQL查询中的占位符关联,减少解析次数,...
Oracle SQL是数据库管理员和开发人员在Oracle数据库管理系统中进行数据查询、操作和管理的主要工具。这份"OracleSQL.zip_oracle"压缩包包含了有关Oracle SQL的详细文档,名为"Oracle_SQL语句大全.doc",旨在提供全面...
- 使用集合进行批量操作,可以显著提高数据处理速度和代码简洁度。 4. 高性能PL/SQL: - 使用游标FOR循环代替显式循环,以减少数据库访问并提高性能。 - 利用绑定变量,防止SQL注入,同时提高查询执行计划的复用...