求个大佬给写个存储过程->oracle

要求 修改当前模式下 所有的表中 属性为date的字段

将其类型修改为 timeStamp


date(7)->timestamp(6)

有偿;

赠送一碗热干面(5RM) 或者提供一次去阿里实习的机会(饿了么 送外卖)

阅读 1.6k
1 个回答
create or replace procedure change_date_to_timestamp as
  v_sql varchar2(2000);
  cursor cur_l is
    select table_name, column_name from user_tab_columns t where t.data_type = 'DATE';
begin
  for rec in cur_l loop
    v_sql := 'alter table ' || rec.table_name || ' modify ' || rec.column_name || ' timestamp(6);';
    dbms_output.put_line(v_sql);
  end loop;
end;

把dbms_output.put_line替换成execute immediate v_sql;就可以执行

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进