`
leshor
  • 浏览: 18718 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

UPDATE 多个表

    博客分类:
  • DB
阅读更多
针对多个表,执行同样的操作。
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语句用于更新一个表中的数据,这些数据依赖于另一个或多个表的记录。这种操作在数据整合、错误修正或者数据同步时非常常见。以下我们将详细探讨如何使用不同方式执行多表关联的...

    ORACLE_多表关联_UPDATE_语句

    Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...

    Oracle两张表关联批量更新其中一张表的数据

    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条件尤为重要,是锁定其批量更新数据的范围。 方法二: ...

    SQLServerUpdate多表Join

    本文将详细介绍如何使用 `UPDATE` 语句结合 `JOIN` 来实现对多个表的更新操作。 #### 1. 基本概念与语法 在 SQL Server 中,`UPDATE` 语句用于修改已存在的记录。通常情况下,我们只需要更新一个表的数据。但在...

    oracle 多表做update insert语句.docx

    在 Update 语句中,我们可以使用 Join 语句来连接多个表。这种语法可以使我们的 Update 语句更加强大和灵活。例如: ```sql UPDATE T_OrderForm A SET SellerID = B.L_TUserID FROM T_OrderForm A LEFT JOIN T_...

    不同数据库update实现多表更新.doc

    因此,本文总结了在SQL Server、Oracle、MySQL三个数据库系统中update语句更新多表的用法。 一、SQL Server update语句 SQL Server的update语句的基本语法如下: ```sql UPDATE { table_name WITH ( [ ...n ] ) | ...

    VB 利用UPDATE语句批量更新数据表中的数据

    UPDATE语句是SQL语言的一个重要部分,用于修改已存在于数据库表中的记录。在VB中,我们可以结合ADO(ActiveX Data Objects)库来执行这些操作。 首先,确保你已经安装了ADO库,如果没有,你需要在项目中引用...

    在PB 中更新由多个表生成的数据窗口

    但在实际项目开发过程中,经常会遇到一个数据窗口需要同时展示并更新多个表中的数据的情况。为了解决这一问题,本文将详细介绍如何在PB环境中实现一个数据窗口对象更新多个表的操作。 #### 二、基础知识介绍 **1. ...

    Update和Select结合使用

    而`SELECT`语句则用于从一个或多个表中选取数据。当两者结合使用时,可以实现在查询结果的基础上对表进行更新操作。这种组合方式通常应用于需要根据一个表中的数据来更新另一个表中的数据的情况。 ### 2. 结合使用...

    使用事务实现更新多个数据表

    当涉及到对多个数据表的操作时,事务尤其重要,因为它们可以确保这些操作要么全部成功,要么全部失败,从而避免了数据不一致的问题。以下是对“使用事务实现更新多个数据表”这一主题的详细解释。 事务是一个逻辑...

    多个DW进行update时正确的写法

    ### 多个DW进行update时正确的写法 在软件开发过程中,特别是在处理数据库操作时,确保数据的一致性和完整性是非常重要的。数据窗口(DataWindow,简称DW)是PowerBuilder等开发工具中的一个重要组件,用于展示和...

    SQL update 多表关联更新的实现代码

    在多表关联更新中,我们需要在FROM子句中引入其他相关的表,并使用JOIN操作来指定两个表之间的关联。以下是两种常见的SQL更新语句实现多表关联更新的方式: 1. **非JOIN方式(旧式方法)**: ```sql UPDATE A SET ...

    update 语句优化update 语句优化update 语句优化

    3. **使用MERGE语句**:对于涉及多个表的操作,`MERGE`语句是一个高效且简洁的选择。 总之,在实际应用中,我们需要根据具体情况选择最适合的优化策略。通过对SQL语句的深入理解和不断实践,我们可以不断提高数据库...

    多表更新

    这种方式适用于需要同时更新多个表的情况,且更新的字段间存在直接关联。 3. 使用事务:对于多步骤的更新操作,应使用事务来确保数据的一致性。即使在其中一个表的更新失败,事务也可以回滚到初始状态,避免数据不...

    数据库oracle for update of和for update的区别

    由于会话A已经锁定了`emp`表中的`sal`列,因此会话B尝试锁定`dept`表时会等待3秒,但因为两个表之间没有直接的关联(除了通过`deptno`),所以B的请求不会受到影响,最终能够成功执行。但如果会话B尝试锁定`emp`表中...

    android SQLite 一个数据库创建多个表

    本篇文章将详细介绍如何在Android的SQLite数据库中创建多个表,并执行基本的CRUD(创建、读取、更新、删除)操作。 首先,我们需要创建一个SQLiteOpenHelper的子类,这个类是Android提供用来管理SQLite数据库的。在...

    SQLITE数据库 UPDATE慢

    综上所述,SQLITE数据库UPDATE慢的问题可以通过多个角度来解决,包括索引优化、事务管理、查询重构、硬件升级等。针对具体问题,分析日志,定位慢查询,然后采取针对性的措施,可以显著提升SQLite数据库的更新速度。...

    oracle的update的五种方式

    这种方式比标准 Update 语句更灵活,可以关联多个表,并且执行速度快。但是,表 B 的主键必须在 where 条件中,并且是以“=”来关联被更新表,否则将报错。 三、Merge 更新法 Merge 更新法是 Oracle 特有的语句,...

    pb数据窗口更新多个数据库表

    - **数据窗口的数据源**:数据窗口可以从一个或多个表获取数据,当涉及到多个表时,数据窗口实际上是从这些表通过某种连接方式(如JOIN)形成的“视图”中获取数据。 - **默认行为**:PB默认情况下不允许直接通过...

    ado.net连接多个表

    在本场景中,我们关注的是如何使用ADO.NET连接并操作Access数据库中的多个表。Access数据库(db1.mdb)是一个小型的关系型数据库管理系统,常用于个人或小型团队的数据存储。 在ADO.NET中,`DataSet`是一个非常关键...

Global site tag (gtag.js) - Google Analytics