oracle實現增量語句修改表的字段

2021-09-14 00:29:18 字數 2196 閱讀 2765

一  前言

1、相對mysql,oracle支援更多的語法,其中之一就是塊語句。

2、本文使用簡單的塊語句實現,可以乙個套路實現多種語句增量操作。

二 實現

1、實現思路

思路查詢是否滿足操作條件

執行滿足條件的操作

2、實現前提

-- 查詢當前表空間

select user from dual;

-- 查詢資料庫字段資訊

select * from all_tab_cols;

-- 過濾當前資料庫資訊

select * from all_tab_cols

where owner=(select user from dual);

-- 過濾當前資料庫的表的資訊

select * from all_tab_cols

where owner=(select user from dual)

and table_name = '表名';

-- 過濾當前資料庫的表的資訊

select * from all_tab_cols

where owner=(select user from dual)

and table_name = '表名'

and column_name = '欄位名';

-- 增加乙個字段

alter table 表名 add (字段 字段型別) [ default '輸入預設值'] [null/not null];

-- 修改乙個字段

alter table 表名 modiy

(字段 字段型別 [default '預設值' ] [null/not null] ,

字段 字段型別 [default '預設值' ] [null/not null] );

-- 刪除乙個字段

alter table 表名 drop (字段);

-- 新增注釋

comment on column 庫名.表名.欄位名 is '備註';

-- 定義變數

declare 變數名 number;

-- 執行sql(塊語句中)

execute immediate 'sql語句,語句中''雙引號''即兩個單引號';

-- 條件分支(塊語句中)

if 變數名=0 then

execute immediate 'select ''變數名'' from dual';

else

execute immediate 'select ''變數名'' from dual';

end if;

-- 塊語句

declare 變數名 number;

begin

if 變數名=0 then

execute immediate 'select ''變數名'' from dual';

else

execute immediate 'select ''變數名'' from dual';

end if;

end;

3、增量新增乙個字段

-- 宣告變數

declare num number;

-- 宣告變數

-- 塊語句

begin

-- 查詢條件

select count(1) into num

from

all_tab_cols

where

owner = (select user from dual)

and table_name = '表名'

and column_name = '欄位名' ;

-- 查詢條件

--條件判斷

if num = 0 then

execute immediate 'alter table 表名 add (欄位名 varchar2(32) default ''預設值'' not null)';

execute immediate 'comment on column 表名.欄位名 is ''注釋''' ;

end if ;

--條件判斷

end;

-- 塊語句

三 總結

1、如法炮製即可

2、mysql請參考mysql實現增量語句修改表的字段

Flume監聽oracle表增量

需求 獲取oracle表增量資訊,傳送至udp514埠,支援ip配置 步驟 1 需要的jar oracle的 odbc5.jar oracle安裝目錄 jdbc lib下查詢 這兩個jar 都拷貝到flume的lib下 3 flume配置檔案 4 遞增欄位要放在select的第一位 切記 a1.so...

Oracle修改表結構的基本sql語句

修改欄位名稱 alter table 表名 rename column 現在的欄位名 to 新欄位名 修改表名 alter table 表名 rename to 新錶名 修改字段資料型別 alter table 表名 modify 欄位名 新資料型別 長度 在表中新增字段 alter table 表...

修改表結構語句

修改表結構語句 1.修改資料表名 alter table 使用者.old table name rename to new table name 2.修改列名 alter table 使用者.table name rename column old column name to new column...