<input id="0qass"><u id="0qass"></u></input>
  • <input id="0qass"><u id="0qass"></u></input>
  • <menu id="0qass"><u id="0qass"></u></menu>

    oracle將指定的表中所有字段變為大寫

    問題 專欄收錄該內容
    19 篇文章 0 訂閱

    問題
    最近在寫一個項目,用到的是oracle數據庫,但是在執行oracle語句的時候總是提示找不到字段,只有將字段名稱用雙引號引起來才可以解決問題,最后發現是由于數據庫字段名稱是小寫造成的,但是一個一個的手動替換太過于麻煩,要是將所有的表都替換風險又太大,因為自己涉及到的只有新增的七八張表,所以用了一個指定表名稱來替換的方法,如圖。
    解決
    在這里插入圖片描述
    圖中有三個地方需要修改成我們自己的表名稱,注意有兩個是用單引號括起來的,有一個是沒用單引號括起來的。完整sql如下

    begin
    for c in (select COLUMN_NAME cn from all_tab_columns where table_name='表名') loop
    begin
    execute immediate 'alter table 表名 rename column "'||c.cn||'" to '||c.cn;
    exception
    when others then
    dbms_output.put_line('表名'||'.'||c.cn||'已經存在');
    end;
    end loop;
    end;
    

    總結
    這樣我們可以根據表名稱來指定修改表的字段。上面的代碼我們可以直接在navicat、pl/sql等工具中直接運行,如圖
    在這里插入圖片描述

    • 0
      點贊
    • 1
      評論
    • 0
      收藏
    • 一鍵三連
      一鍵三連
    • 掃一掃,分享海報

    ??2021 CSDN 皮膚主題: 1024 設計師:白松林 返回首頁
    實付
    使用余額支付
    點擊重新獲取
    掃碼支付
    錢包余額 0

    抵扣說明:

    1.余額是錢包充值的虛擬貨幣,按照1:1的比例進行支付金額的抵扣。
    2.余額無法直接購買下載,可以購買VIP、C幣套餐、付費專欄及課程。

    余額充值
    多乐彩