中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle數據庫中如何實現將將表中字段名轉換為大寫

發布時間:2020-11-12 14:57:54 來源:億速云 閱讀:538 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關Oracle數據庫中如何實現將將表中字段名轉換為大寫,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

前言

今天查詢一個數據字段一直提示字符無效,明明在數據庫表字段中是存在的;

查詢后得知,數據庫表字段為小寫時,查詢需要將字段名小寫并加上雙引號;

表名同理,我這里表名是大寫,暫時不需要改。

搜到一個批量修改字段名為大寫的存儲過程,如下:

登陸到要修改的用戶下,

執行:

begin
for cl in (SELECT table_name,column_name from user_tab_columns WHERE column_name<>upper(column_name) and upper(column_name) not in('SIZE','CHECK')) loop
begin
execute immediate 'alter table '||cl.table_name||' rename column "'|| cl.column_name ||'" to '||upper(cl.column_name);
exception
when others then
dbms_output.put_line(cl.table_name||'.'||cl.column_name||'已存在');
end;
end loop;
end;

即完成該用戶下所有表字段名改為大寫的過程。

附上批量修改表名為大寫的存儲過程,以備后用:

-- oracle 批量修改表名為大寫(當前登錄用戶)
begin
for c in (select table_name tn from user_tables where table_name <> upper(table_name)) loop
begin
execute immediate 'alter table "'||c.tn||'" rename to '||c.tn;
exception
when others then
dbms_output.put_line(c.tn||'已存在');
end;
end loop;
end;

再附 字段類型批量修改(此時表內無內容):

DECLARE
  CURSOR TEMP IS SELECT TABLE_NAME,COLUMN_NAME,DATA_LENGTH FROM USER_TAB_COLUMNS WHERE DATA_TYPE = 'NVARCHAR2' AND ROWNUM < 100;
  STR VARCHAR2(100) := '';
 BEGIN 
   FOR S IN TEMP LOOP
    STR := 'ALTER TABLE '||S.TABLE_NAME||' MODIFY('||S.COLUMN_NAME||' VARCHAR2(200))';
    DBMS_OUTPUT.PUT_LINE(STR);
   EXECUTE IMMEDIATE STR ;
   
   END LOOP;
 END;

以上就是Oracle數據庫中如何實現將將表中字段名轉換為大寫,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

逊克县| 锦州市| 彭水| 新田县| 泽普县| 日喀则市| 沈阳市| 台南县| 长宁县| 临江市| 岗巴县| 四子王旗| 昭通市| 霍林郭勒市| 会理县| 西丰县| 仙桃市| 托克逊县| 讷河市| 南漳县| 宜章县| 水城县| 成都市| 丹巴县| 紫金县| 寿光市| 凤山市| 平武县| 连城县| 庆元县| 廊坊市| 通化市| 凤翔县| 广丰县| 句容市| 峨山| 仙桃市| 崇礼县| 渝北区| 北安市| 丰顺县|