首页 > 数据库技术 > 详细

【Oracle】表名/列名,大/小写转换

时间:2021-01-06 13:57:25      阅读:34      评论:0      收藏:0      [点我收藏+]

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;

 

【Oracle】表名/列名,大/小写转换

原文:https://www.cnblogs.com/xiaostudy/p/14240256.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!