标签:begin end cn 列名 tablename VARCHAR2 表名 Oracle table
1、表名,小写转大写。如下:my_test转换MY_TEST
DECLARE v_tablename_x VARCHAR2(20); v_tablename_d VARCHAR2(20); begin v_tablename_x:='my_test'; v_tablename_d:='MY_TEST'; execute immediate 'alter table "'||v_tablename_x||'" rename to '||v_tablename_d||''; exception when others then dbms_output.put_line(v_tablename_d||'已存在'); end;
2、列名,小写转大写
DECLARE v_tablename_d VARCHAR2(20); begin v_tablename_d:='MY_TEST'; for c in (select COLUMN_NAME cn from all_tab_columns where table_name=v_tablename_d) loop begin execute immediate 'alter table "'||v_tablename_d||'" rename column "'||c.cn||'" to '||c.cn; exception when others then dbms_output.put_line(v_tablename_d||'.'||c.cn||'已经存在'); end; end loop; end;
3、表和列一起,小写转大写
DECLARE v_tablename_x VARCHAR2(20); v_tablename_d VARCHAR2(20); begin v_tablename_x:='my_test'; v_tablename_d:='MY_TEST'; for c in (select COLUMN_NAME cn from all_tab_columns where table_name=v_tablename_x) loop begin execute immediate 'alter table "'||v_tablename_x||'" rename column "'||c.cn||'" to '||c.cn; exception when others then dbms_output.put_line(v_tablename_x||'.'||c.cn||'已经存在'); end; end loop; execute immediate 'alter table "'||v_tablename_x||'" rename to '||v_tablename_d||''; exception when others then dbms_output.put_line(v_tablename_d||'已存在'); end;
4、表和列一起,大写转小写
DECLARE v_tablename_x VARCHAR2(20); v_tablename_d VARCHAR2(20); begin v_tablename_x:='my_test'; v_tablename_d:='MY_TEST'; for c in (select COLUMN_NAME cn from all_tab_columns where table_name=v_tablename_d) loop begin execute immediate 'alter table '||v_tablename_d||' rename column '||c.cn||' to "'||LOWER(c.cn)||'"'; exception when others then dbms_output.put_line(v_tablename_d||'.'||c.cn||'已经存在'); end; end loop; execute immediate 'alter table '||v_tablename_d||' rename to "'||v_tablename_x||'"'; exception when others then dbms_output.put_line(v_tablename_x||'已存在'); end;
5、列名,大写转小写
DECLARE v_tablename_d VARCHAR2(20); begin v_tablename_d:='MY_TEST'; for c in (select COLUMN_NAME cn from all_tab_columns where table_name=v_tablename_d) loop begin execute immediate 'alter table '||v_tablename_d||' rename column '||c.cn||' to "'||LOWER(c.cn)||'"'; exception when others then dbms_output.put_line(v_tablename_d||'.'||c.cn||'已经存在'); end; end loop; end;
6、表名,大写转小写
DECLARE v_tablename_x VARCHAR2(20); v_tablename_d VARCHAR2(20); begin v_tablename_x:='my_test'; v_tablename_d:='MY_TEST'; execute immediate 'alter table '||v_tablename_d||' rename to "'||v_tablename_x||'"'; exception when others then dbms_output.put_line(v_tablename_x||'已存在'); end;
标签:begin,end,cn,列名,tablename,VARCHAR2,表名,Oracle,table 来源: https://www.cnblogs.com/xiaostudy/p/14240256.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。