ORACLE里面动态的添加字段,如果存在就不添加,如果不存在就添加。sql语句怎么写?

2024-12-21 03:53:54
推荐回答(1个)
回答1:

declare 

p_table_name varchar2(30);

p_column_name varchar2(30);

p_data_type varchar2(30);

p_cnt number;

p_sql varchar2(4000);

begin

  p_table_name:='';

  p_column_name:='';

  select count(1) into p_cnt from user_tab_cols where a.table_name=p_table_name and a.column_name=p_column_name;

  if p_cnt=0 then

    p_sql:='alter table '||p_table_name||' add '||p_column_name||' '||p_data_type;

    execute immediate p_sql;

  end if;

end;

没测试,不过基本应该可以