oracle資料庫批量將表名小寫轉大寫

2021-08-31 19:55:27 字數 529 閱讀 7064

oracle10g資料庫,sqlserver通過dts匯出資料到oracle後。查詢表資料時輸入:

select * from "表名" ;

查詢資料執行正常。

如果輸入:select * from 表名;

提示ora-000942表或檢視不存在

後來發現原因是:匯入oracle資料庫後,表名在資料字典中是小寫的。而用oracle資料庫建的表,在資料字典中存的是大寫的表名。所以要加雙引號。(在oracle中要用特殊表名時,即用到oracle規定的合法字元之外的字元,建表、查詢時,表名也要加雙引號)。

於是想批量將表名改為大寫,方便寫查詢語句

方法如下:在pl/sql中執行下面sql

select 'alter table "'||table_name||'" rename to '||upper(table_name)||';' from user_tables where table_name<>upper(table_name);

生成修改表名語句

然後在執行這些alter語句就可以了。

批量插入oracle資料庫

odp技術,引數可以為陣列 注意事項 1 時間處理 防止資料庫中有date型別的資料,不設定格式則會出現無效月份的情況,如 new oracledate 2011 08 26 17 18 19 oracleglobalization og oracleglobalization.getclienti...

資料批量匯入Oracle資料庫

表resultxt 3 行載入成功 由於資料錯誤,0 行沒有載入。由於所有 when 子句失敗,0 行沒有載入。由於所有欄位都為空的,0 行沒有載入。為結合陣列分配的空間 65016位元組 63行 除繫結陣列外的記憶體空間分配 0位元組 跳過的邏輯記錄總數 0 讀取的邏輯記錄總數 3 拒絕的邏輯記錄...

解決Oracle更改資料庫表名報錯

1.無法重新命名 sql rename user1.table1 to table2 rename user.table1 to table2 ora 01765 specifying table s owner name is not allowed 解決方法1 使用user1登入,執行renam...