oracle删除字段时候判断字段是否存在

时间:2021-01-06 18:16:54
 declare
v_count number;
begin
select count(1) into v_count from all_tab_columns a where a.TABLE_NAME = 'XXX1' and a.COLUMN_NAME = 'TEST1';
IF(V_COUNT > 0) THEN
EXECUTE immediate 'ALTER TABLE XXX1 DROP COLUMN TEST1';
END IF;
end;

字段名是保存在sys.col$中,但是一般开发人员没权限,但是会有一个视图,一般情况下视图名为all_tab_columns(相似的表名还有all_col_comments,all_triggers等)。