任何人都可以告诉我这里发生了什么......
在SCHEMA之后创建触发器afr_alt_trig cols ora_name_list_t; 开始 IF(ora_dict_obj_type ='TABLE')然后 select column_name bulk collect into user_tab_cols中的cols,其中table_name = ora_dict_obj_name; FOR i IN cols.first .. cols.last LOOP DBMS_OUTPUT.PUT_LINE(COLS(I)); 结束循环; 万一; 结束; 在执行ALTER TABLE命令后,上述触发器应显示表中所有列的列表。
当我使用没有任何约束的列更改表时,它工作得很好。 例如:更改表格tab_xxx ADD(nucol char); - 精细
但是,如果我添加一个带有约束的新列 例如:ALTER TALE tab_xxx ADD(n number NOT NULL); 然后,这个新列不会立即反映在USER_TAB_COLS DD视图和上面的FOR循环中,以显示所有列的名称,但不显示添加的新列。
谢谢。