Update整个数据库所有表某字段的值

创建了一个存储过程SP_DYLAN_TEST1,用于遍历SITC所有表,将PRINCIPAL_GROUP_CODE字段的值统一设置为'SIT'。过程通过查询all_all_tables获取表名,然后使用动态SQL执行更新操作。
摘要由CSDN通过智能技术生成

CREATE OR REPLACE PROCEDURE SP_DYLAN_TEST1 AS

  TYPE RC IS REF CURSOR;

  V_RC         RC;

  V_TABLE_NAME VARCHAR(50);

 

  V_SQL VARCHAR2(500);

BEGIN

 

  OPEN V_RC FOR

    SELECT C.TABLE_NAME

      FROM all_all_tables C

     WHERE 1 = 1

       AND C.OWNER = 'SITC'

       and c.table_name in (select b.TABLE_NAME

                              from all_tab_columns b

                             where b.COLUMN_NAME = 'PRINCIPAL_GROUP_CODE'

                               and b.OWNER = 'SITC');

  LOOP

    FETCH V_RC

      INTO V_TABLE_NAME;

    EXIT WHEN V_RC%NOTFOUND;

    BEGIN

      V_SQL := 'UPDATE ' || V_TABLE_NAME ||

               ' SET PRINCIPAL_GROUP_CODE = ''SIT''';

    

      -- DBMS_OUTPUT.put_line(V_SQL);

      EXECUTE IMMEDIATE (V_SQL);

    

      COMMIT;

    

    END;

  END LOOP;

 

END;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值