DECLARE
v_col_exists NUMBER;
create_time varchar2(20) := 'CREATE_TIME';
update_time varchar2(20) := 'UPDATE_TIME';
create_user varchar2(20) := 'CREATE_USER';
update_user varchar2(20) := 'UPDATE_USER';
v_sql varchar2(4000);
begin
for i in (select table_name from user_tables where TABLE_NAME like 'G_YAF_%')
loop
SELECT count(*)
INTO v_col_exists
FROM user_tab_cols
WHERE column_name = create_time AND table_name = i.table_name;
IF (v_col_exists = 0) THEN
v_sql := 'alter table ' || i.table_name || ' add ' || create_time || ' date';
DBMS_OUTPUT.PUT_LINE(v_sql);
execute immediate v_sql;
v_sql := 'comment on column ' || i.table_name || '.' || create_time || ' is ' || q'['创建时间']';
DBMS_OUTPUT.PUT_LINE(v_sql);
execute immediate v_sql;
ELSE
DBMS_OUTPUT.PUT_LINE('The column effective_date already exists');
END IF;
SELECT count(*)
INTO v_col_exists
FROM user_tab_cols
WHERE column_name = update_time AND table_name = i.table_name;
IF (v_col_exists = 0) THEN
v_sql := 'alter table ' || i.table_name || ' add ' || update_time || ' date';
DBMS_OUTPUT.PUT_LINE(v_sql);
execute immediate v_sql;
execute immediate 'comment on column ' || i.table_name || '.' || update_time || ' is ' || q'['更新时间']';
ELSE
DBMS_OUTPUT.PUT_LINE('The column effective_date already exists');
END IF;
SELECT count(*)
INTO v_col_exists
FROM user_tab_cols
WHERE column_name = create_user AND table_name = i.table_name;
IF (v_col_exists = 0) THEN
v_sql := 'alter table ' || i.table_name || ' add ' || create_user || ' number(8)';
DBMS_OUTPUT.PUT_LINE(v_sql);
execute immediate v_sql;
execute immediate 'comment on column ' || i.table_name || '.' || create_user || ' is ' || q'['创建人ID']';
ELSE
DBMS_OUTPUT.PUT_LINE('The column effective_date already exists');
END IF;
SELECT count(*)
INTO v_col_exists
FROM user_tab_cols
WHERE column_name = update_user AND table_name = i.table_name;
IF (v_col_exists = 0) THEN
v_sql := 'alter table ' || i.table_name || ' add ' || update_user || ' number(8)';
DBMS_OUTPUT.PUT_LINE(v_sql);
execute immediate v_sql;
execute immediate 'comment on column ' || i.table_name || '.' || update_user || ' is ' || q'['更新人ID']';
ELSE
DBMS_OUTPUT.PUT_LINE('The column effective_date already exists');
END IF;
end loop;
end;
oracle中批量添加字段脚本
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:重置ORACLE序列编号
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
oracle修改字段注释
COMMENT ON COLUMN 表名.列名 IS '新的注释内容';
数据库 oracle 修改字段 表名 -
Oracle 和 mysql 增加字段SQL
请注意,这些示例中的"表名"应替换为您要增加字段的实际表名,"新字段名"应替换为您要添加的新字段的名称,"数
oracle mysql sql 数据类型 增加字段 -
oracle修改字段的sql语句 - Oracle
1、添加字段create table ORD ( table_name type, UserNam
sql 数据库 oracle 添加字段 字段 -
Spring Bean 生命周期详解:初始化与销毁方式对比与实践
各种方式的优缺点,展示了完整的执行顺序,并给出了实际开发中的典型应用场景。建
spring python java 初始化 System
















