最近在开发中遇到一个问题,在数据库中的每张表中添加一个时间字段,如果一张表一张表的去添加,表非常多,这样非常耗时,就想到是否可以循环表,进行批量添加相同的字段。
DECLARE
 v_sql CLOB;
 v_table user_tables.TABLE_NAME%TYPE;
 CURSOR p_cursor IS SELECT TABLE_NAME FROM USER_TABLES t WHERE t.TABLE_NAME NOT IN('YX_SJCJ_JK','YX_SJCJ_JK_RZ','YX_SJCJ_JK_RZMX'); 
BEGIN
  OPEN p_cursor;
  LOOP 
    FETCH p_cursor INTO v_table;
    EXIT WHEN p_cursor%NOTFOUND;
    v_sql := 'ALTER TABLE '||v_table||' ADD RKRQ DATE';
    EXECUTE IMMEDIATE v_sql;
    v_sql :='comment on column '||v_table||'.RKRQ is ''入库日期''';
     EXECUTE IMMEDIATE v_sql;
  END LOOP;
END;



Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐