欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle如何獲取指定表名稱批量修改表中的字段類型

 更新時間:2023年08月02日 08:59:04   作者:牛奶咖啡13  
這篇文章主要給大家介紹了關(guān)于Oracle如何獲取指定表名稱批量修改表中字段類型的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)使用oracle具有一定的參考價值,需要的朋友可以參考下

一、業(yè)務(wù)需求

在進行業(yè)務(wù)開發(fā)過程中,需要實現(xiàn)獲取到Oracle中指定數(shù)據(jù)庫下的指定表,然后對這些指定的表修改字段類型,比如需要將類型Varchar2的大小從100修改為200。

二、思路分析

①獲取到Oracle中指定數(shù)據(jù)庫下的指定表;

②修改指定表的類型sql;

③遍歷執(zhí)行修改不同表的指定字段類型;

三、實現(xiàn)方法

3.1、獲取到Oracle中指定數(shù)據(jù)庫下的指定表

獲取所有表信息

序號獲取所有表sql說明
1SELECT * FROM dba_tables;

可以查看所有表信息(即所有系統(tǒng)表+所有用戶表);

具有【可以訪問DBA_TABLES數(shù)據(jù)字典視圖】權(quán)限;

或DBA授予您SELECT ANY DICTIONARY特權(quán)或SELECT_CATALOG_ROLE角色(其中任何一個都允許您查詢?nèi)魏螖?shù)據(jù)字典表)

2select * from all_tables;可以查看所有用戶的表
3select * from user_tables;可以查看當前用戶的所有表
4select * from user_tab_columns;可以查看到所有用戶的表結(jié)構(gòu)信息

3.2、修改指定表的類型sql

表字段的操作

序號表字段的操作SQL說明
1

alter table test_People add(workAddress varchar2(100));

alter table test_People add(workAddress varchar2(100),telNumber varchar2(11));

①給test_People表添加一個新字段workAddress類型為varchar2且大小為100;

②給test_People表添加2個新字段(workAddress類型為varchar2且大小為100;telNumber類型為varchar2且大小為11)

2alter table test_People rename column TYPENAME to testname;將test_People表的TYPENAME列名稱修改為testname
3update test_People set testname=TYPENAME;將test_People表中的TYPENAME列的數(shù)據(jù)更新到testname列中
4alter table test_People modify TYPENAME VARCHAR2(200);將test_People表中的TYPENAME列修改為Varchar2類型且大小為200
5alter table test_People drop column testname;將test_People表中的testname列刪除

3.3、遍歷執(zhí)行修改不同表的指定字段類型

--首先查詢出當前用戶下的所有以test開頭的表的表名稱,然后使用FOR函數(shù)遍歷出每個test開頭的表名稱執(zhí)行修改每個test開頭表中TYPENAME列的字段類型為VARCHAR2且大小為200
BEGIN
FOR r IN (select TABLE_NAME from user_tables WHERE TABLE_NAME like 'test%') LOOP
   execute immediate 'ALTER  table '|| r.TABLE_NAME ||' MODIFY TYPENAME VARCHAR2(200)';
END LOOP;
END;
--FOR函數(shù)的語法
FOR var IN 1..10 LOOP
	statement_list
END LOOP;

總結(jié) 

到此這篇關(guān)于Oracle如何獲取指定表名稱批量修改表中的字段類型的文章就介紹到這了,更多相關(guān)Oracle獲取指定表名稱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論