一次给多张表添加相同的字段
最近在开发中遇到一个问题,在数据库中的每张表中添加一个时间字段,如果一张表一张表的去添加,表非常多,这样非常耗时,就想到是否可以循环表,进行批量添加相同的字段。DECLAREv_sql CLOB;v_table user_tables.TABLE_NAME%TYPE;CURSOR p_cursor IS SELECT TABLE_NAME FROM USER_TABLES t WHER
·
最近在开发中遇到一个问题,在数据库中的每张表中添加一个时间字段,如果一张表一张表的去添加,表非常多,这样非常耗时,就想到是否可以循环表,进行批量添加相同的字段。
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;
更多推荐



所有评论(0)