亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

尖扎县| 福海县| 增城市| 闸北区| 梅河口市| 泽库县| 天水市| 江孜县| 托里县| 许昌市| 丹阳市| 鄯善县| 新丰县| 台东市| 柘荣县| 隆子县| 扎鲁特旗| 布拖县| 阿瓦提县| 连云港市| 常宁市| 崇信县| 高平市| 西林县| 沾益县| 奎屯市| 元朗区| 车致| 侯马市| 乾安县| 常山县| 海宁市| 阜阳市| 河间市| 城固县| 德格县| 邹平县| 翁牛特旗| 西藏| 信阳市| 金华市|