博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle快速为所有表新增字段
阅读量:722 次
发布时间:2019-03-21

本文共 991 字,大约阅读时间需要 3 分钟。

下面实例是为数据库当前用户中所有表名称含有'_OPT'的表,新增'IMPORT_DATE'字段,并添加字段注释'入库日期'。

declare  --需要执行的SQL字符串  v_alter_sqlstr  varchar2(500);  -- 游标  cursor c_result is   select 'alter table ' || t.OBJECT_NAME  || ' add IMPORT_DATE date default sysdate;          comment on column ' || t.OBJECT_NAME ||'.IMPORT_DATE is ''入库日期'';         ' as alter_sqlstr    from user_objects t where t.OBJECT_TYPE='TABLE' and t.object_name like '%_OPT';  -- 定义一个与游标一样的变更  v_result c_result%rowtype;begin  open c_result;    loop      fetch c_result into v_result;        exit when c_result%notfound;      v_alter_sqlstr := v_result.alter_sqlstr;      dbms_output.put_line(v_alter_sqlstr); -- 可单独将SQL从output窗口提取出来执行            -- 执行修改      --execute immediate v_alter_sqlstr;       end loop;  close c_result;exception  when others then    begin      dbms_output.put_line('异常:' || 'sqlcode:' || sqlcode || ' sqlerrm : ' ||sqlerrm );    end;  end;

可以直接执行上面的SQL语句为表添加字段,也可以将需要执行的SQL语句打印出来,单独执行。

建议先将要执行的SQL语句打印出来,看下没有问题再手动执行SQL脚本,这样保险些。

转载地址:http://ncdrz.baihongyu.com/

你可能感兴趣的文章