针对多个表,执行同样的操作。
procedure pkg_k_updateAac001(
prm_aac001_old IN VARCHAR2,
prm_aac001_new IN VARCHAR2,
prm_AppCode OUT VARCHAR2, -- 执行状态代码
prm_ErrorMsg OUT VARCHAR2) -- 失败信息描述
is
v_exeSQL varchar2(200);
v_tableName varchar2(50);
cursor updateTable_name
is
select table_name
from user_tables
where table_name in ('KC45','KC20','KC41K1','KC41','KC31',
'KC19','KC19K1','KC19K2','KC21','KC24','KC24K1','KC25',
'KC28','KC40','KC40K1','KC40K2');
begin
prm_AppCode := pkg_Constant.gn_def_OK;
prm_ErrorMsg := '';
open updateTable_name;
loop
fetch updateTable_name into v_tableName;
exit when updateTable_name%notfound;
select 'update '||v_tableName||
' set aac001 = '''||prm_aac001_new||
''' where aac001 = '''||prm_aac001_old||''''
into v_exeSQL
from dual;
execute immediate v_exeSQL;
end loop;
close updateTable_name;
-- 成功处理
<<label_OK>>
-- 关闭仍然打开的游标
RETURN;
-- 处理失败
<<label_ERROR>>
prm_AppCode := pkg_Constant.gn_def_ERR;
RETURN;
EXCEPTION
-- WHEN NO_DATA_FOUND THEN
-- WHEN TOO_MANY_ROWS THEN
-- WHEN DUP_VAL_ON_INDEX THEN
WHEN OTHERS THEN
prm_AppCode := pkg_Constant.gn_def_ERR;
prm_ErrorMsg := prm_ErrorMsg || SQLERRM;
-- 关闭仍然打开的游标
end pkg_k_updateAac001;
分享到:
相关推荐
在Oracle数据库中,多表关联的UPDATE语句用于更新一个表中的数据,这些数据依赖于另一个或多个表的记录。这种操作在数据整合、错误修正或者数据同步时非常常见。以下我们将详细探讨如何使用不同方式执行多表关联的...
Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...
### 多个DW进行update时正确的写法 在软件开发过程中,特别是在处理数据库操作时,确保数据的一致性和完整性是非常重要的。数据窗口(DataWindow,简称DW)是PowerBuilder等开发工具中的一个重要组件,用于展示和...
UPDATE 表2 SET 表2.C = (SELECT B FROM 表1 WHERE 表1.A = 表2.A) WHERE EXISTS (SELECT 1 FROM 表1 WHERE 表1.A = 表2.A); 尤其注意最后的外层where条件尤为重要,是锁定其批量更新数据的范围。 方法二: ...
本文将详细介绍如何使用 `UPDATE` 语句结合 `JOIN` 来实现对多个表的更新操作。 #### 1. 基本概念与语法 在 SQL Server 中,`UPDATE` 语句用于修改已存在的记录。通常情况下,我们只需要更新一个表的数据。但在...
在 Update 语句中,我们可以使用 Join 语句来连接多个表。这种语法可以使我们的 Update 语句更加强大和灵活。例如: ```sql UPDATE T_OrderForm A SET SellerID = B.L_TUserID FROM T_OrderForm A LEFT JOIN T_...
因此,本文总结了在SQL Server、Oracle、MySQL三个数据库系统中update语句更新多表的用法。 一、SQL Server update语句 SQL Server的update语句的基本语法如下: ```sql UPDATE { table_name WITH ( [ ...n ] ) | ...
UPDATE语句是SQL语言的一个重要部分,用于修改已存在于数据库表中的记录。在VB中,我们可以结合ADO(ActiveX Data Objects)库来执行这些操作。 首先,确保你已经安装了ADO库,如果没有,你需要在项目中引用...
但在实际项目开发过程中,经常会遇到一个数据窗口需要同时展示并更新多个表中的数据的情况。为了解决这一问题,本文将详细介绍如何在PB环境中实现一个数据窗口对象更新多个表的操作。 #### 二、基础知识介绍 **1. ...
而`SELECT`语句则用于从一个或多个表中选取数据。当两者结合使用时,可以实现在查询结果的基础上对表进行更新操作。这种组合方式通常应用于需要根据一个表中的数据来更新另一个表中的数据的情况。 ### 2. 结合使用...
当涉及到对多个数据表的操作时,事务尤其重要,因为它们可以确保这些操作要么全部成功,要么全部失败,从而避免了数据不一致的问题。以下是对“使用事务实现更新多个数据表”这一主题的详细解释。 事务是一个逻辑...
在多表关联更新中,我们需要在FROM子句中引入其他相关的表,并使用JOIN操作来指定两个表之间的关联。以下是两种常见的SQL更新语句实现多表关联更新的方式: 1. **非JOIN方式(旧式方法)**: ```sql UPDATE A SET ...
由于会话A已经锁定了`emp`表中的`sal`列,因此会话B尝试锁定`dept`表时会等待3秒,但因为两个表之间没有直接的关联(除了通过`deptno`),所以B的请求不会受到影响,最终能够成功执行。但如果会话B尝试锁定`emp`表中...
这种方式适用于需要同时更新多个表的情况,且更新的字段间存在直接关联。 3. 使用事务:对于多步骤的更新操作,应使用事务来确保数据的一致性。即使在其中一个表的更新失败,事务也可以回滚到初始状态,避免数据不...
本篇文章将详细介绍如何在Android的SQLite数据库中创建多个表,并执行基本的CRUD(创建、读取、更新、删除)操作。 首先,我们需要创建一个SQLiteOpenHelper的子类,这个类是Android提供用来管理SQLite数据库的。在...
综上所述,SQLITE数据库UPDATE慢的问题可以通过多个角度来解决,包括索引优化、事务管理、查询重构、硬件升级等。针对具体问题,分析日志,定位慢查询,然后采取针对性的措施,可以显著提升SQLite数据库的更新速度。...
这种方式比标准 Update 语句更灵活,可以关联多个表,并且执行速度快。但是,表 B 的主键必须在 where 条件中,并且是以“=”来关联被更新表,否则将报错。 三、Merge 更新法 Merge 更新法是 Oracle 特有的语句,...
- **数据窗口的数据源**:数据窗口可以从一个或多个表获取数据,当涉及到多个表时,数据窗口实际上是从这些表通过某种连接方式(如JOIN)形成的“视图”中获取数据。 - **默认行为**:PB默认情况下不允许直接通过...
在本场景中,我们关注的是如何使用ADO.NET连接并操作Access数据库中的多个表。Access数据库(db1.mdb)是一个小型的关系型数据库管理系统,常用于个人或小型团队的数据存储。 在ADO.NET中,`DataSet`是一个非常关键...
有时,我们可能需要根据复杂条件更新多个字段,例如: ```sql UPDATE t_advs_order a INNER JOIN tk_zyt_scenery_order s ON s.order_id=a.`on` SET a.attribute1=s.order_id, a.attribute2=s.order_id; ``` 在这...