蔡香满屋
站在牛顿头上吃苹果
--cgb  扩展表--新增考试级别(exam_level)这个字段

declare
  icount  integer:=0;
  begin
    select count(1) into icount from user_tab_columns u where upper(u.TABLE_NAME) = 'CAI_BASE_EXAM ' and upper(u.COLUMN_NAME) = 'EXAM_LEVEL';
    if icount = 0 then
      execute immediate 'alter table CAI_BASE_EXAM add EXAM_LEVEL varchar2(32)';
    end if;
  end;
/

  注意:一定不能少了最末的"/"斜杠,因为这个符号是一个语句结束的标识。

execute immediate可以是:

alter table CAI_BASE_EXAM add EXAM_LEVEL varchar2(32) -- 新增列
alter table CAI_BASE_EXAM modify EXAM_LEVEL varchar2(16) -- 修改列大小
alter table CAI_BASE_EXAM drop EXAM_LEVEL -- 删除列

  

posted on 2019-12-23 11:43  蔡香满屋  阅读(465)  评论(0)    收藏  举报