91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

临海市| 江山市| 孟州市| 白沙| 桓仁| 绥阳县| 栖霞市| 中阳县| 巴彦淖尔市| 大荔县| 始兴县| 内丘县| 上林县| 出国| 上杭县| 大兴区| 玉山县| 宜兰市| 金山区| 科技| 巴林右旗| 泸西县| 九龙城区| 平南县| 陆丰市| 南华县| 扶绥县| 湛江市| 商城县| 蒙城县| 阿巴嘎旗| 法库县| 改则县| 利川市| 仙游县| 九台市| 攀枝花市| 桓台县| 拜城县| 施甸县| 文水县|