1. 程式人生 > >Oracle刪除欄位之前判斷欄位是否存在

Oracle刪除欄位之前判斷欄位是否存在

在Oracle中若刪除表中一個不存在的欄位,如 “alter table test drop column xxx”,則會提示:

ORA-00904:”xxx”:識別符號無效

若在程式中執行該語句則會報異常,這就需要我們在刪除欄位前先判斷該欄位是否存在,若存在則刪除.

DECLARE
  num NUMBER;
BEGIN
  SELECT COUNT(1)
    INTO num
    from cols
   where table_name = upper('tableName')
     and column_name = upper('columnName');
  IF num > 0 THEN
      execute immediate 'alter
table tableName drop column columnName'; END IF; END;

相關推薦

Oracle刪除之前判斷是否存在

在Oracle中若刪除表中一個不存在的欄位,如 “alter table test drop column xxx”,則會提示: ORA-00904:”xxx”:識別符號無效 若在程式中執行該語句則會報異常,這就需要我們在刪除欄位前先判斷該欄位是否存在,若存

oracle 判斷是否為是數字 regexp like用法 正則表示式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

set unused的用法(ORACLE刪除

set unused的用法(ORACLE刪除欄位) 一、問題 現場有一張大資料量的分割槽表,資料量在10G以上。因某種原因需要刪除其中的某些欄位。如果直接用alter table1 drop (column1,column2);或者alter table1 drop column column1;和alt

oracle 基礎和管理 如何判斷某個表中是否存在某個

問題 如何判斷某個表中是否存在某個欄位? 注意:表名和欄位名一定要大寫,否則結果不正確一: 檢查表名:select count(*) from user_TABLES where table_name = 表名(大寫);檢查欄位名:select count(*) from U

Oracle判斷是否為空

主要是做專案的時候遇到了,相當與一個隨文筆記吧: 在做專案的時候偶爾會遇到有的欄位為空,當判斷欄位是否為空或是null時   單純的not in nul無法實現,那沒我們要換種方式。 判斷欄位不為空:select * from table where  (欄位名is not

oracle 判斷是否為是數字 regexp_like用法 正則表示式

ORACLE中的支援正則表示式的函式主要有下面四個:1,REGEXP_LIKE :與LIKE的功能相似2,REGEXP_INSTR :與INSTR的功能相似3,REGEXP_SUBSTR :與SUBSTR的功能相似4,REGEXP_REPLACE :與REPLACE的功能相似它們在用法上與Oracle SQL

oracle刪除表字段和oracle表增加

新增欄位的語法:alter table tablename add (column datatype [default value][null/not null],….); 修改欄位的語法:alter table tablename modify (column

oracle正則表示式判斷是否為純…

oracle判斷test表中value欄位是否為純數字。使用oracle的正則表示式 select * from test  where not regexp_like(value,'(^[0-9])');

oracle資料庫查詢某個表的資訊

(1)查詢整個資料庫所有表的欄位 select t.column_name from user_col_comments t;(一般建議去執行,因為資料庫表過多執行起來會非常的慢) (2)查詢特定表名的表字段 select t.column_name, t.column_name&nbs

oracle中檢視所有表、、表註釋、註釋

oracle中檢視所有表、欄位、表註釋、欄位註釋 檢視所有表 select table_name from user_tables; //檢視當前使用者擁有的表 select table_name from all_tables; //檢視所有使用者

資料庫工作筆記010---Mysql中用SQL增加、刪除,修改名、型別、註釋,調整順序總結

  JAVA技術交流QQ群:170933152   Mysql中用SQL增加、刪除欄位,修改欄位名、欄位型別、註釋,調整欄位順序總結   在網站重構中,通常會進行資料結構的修改,所以新增,刪除,增加mysql表的欄位是難免的,有時為了方便,還會增加

oracle可重複執行指令碼(新增)

--新增債券期限欄位 declare   cn integer; begin   cn := 0;   select count(*)    into cn   from user_tab_cols t    where t.table_name='T_BANK_BOND_

SqlServer如何判斷中是否含有漢字?

--/* --unicode編碼範圍: --漢字:[0x4e00,0x9fa5](或十進位制[19968,40869]) --數字:[0x30,0x39](或十進位制[48, 57]) --小寫字母:[0x61,0x7a](或十進位制[97, 122]) --大寫字母:[0x41,0x5a](

js判斷是否為空 isNull js判斷是否為空 isNull

js判斷欄位是否為空 isNull   //在js中if條件為null/undefined/0/NaN/""表示式時,統統被解釋為false,此外均為true .//為空判斷函式function isNull(arg1){ return !arg1 &am

資料庫工作筆記004---mysql對結果進行判斷的函式_Case when等

結果1:    結果2     結果3    結果4    事前準備:例項用的表結構和資料 /* Navicat MySQL Data Transfer Source Server : work Source Server Version

字串長度超過4000字元的資料存入oracle資料庫裡clob型別的裡,並之後做前臺查詢展示

這個過程會產生的問題有: 1. 因為oracle的兩個單引號之間字元長度不能超過4000,字串長度超過4000字元後或報字元過長的錯,無法直接insert或update進資料庫,必須得轉換成clob型別。 2.查出來的clob資料不是字串,無法直接展示。 我在ssm框架

oracle中使用sql查詢時為空則賦值預設

oracle 通過 nvl( )函式sql 查詢時為 空值 賦預設值 oracle 函式介紹之nvl   函式宣告:nvl(col,val)   說明:當col為空時取val作為返回值,當col不為空時取col值。   用處:最主要的是格式化資料,比如計算金額時,不想出現

jQuery的validate判斷為不為空 驗證表單

在頁面   很多時候都會用到非空驗證  驗證的方式各種各樣  有原生js的alert提醒,也有jQuery的validate,不過後者比前者更好一些 我先說一下寫法  上圖 ​ $(function(){ $("#form-article-add").validate

Oracle中的BLOB和CLOB

一般為了更好的管理ORACLE資料庫,通常像圖片、檔案、音樂等資訊就用BLOB欄位來儲存,先將檔案轉為二進位制再儲存進去。而像文件或者是較長的文字,就用CLOB儲存,這樣對以後的查詢更新儲存等操作都提供很大的方便。 1.BLOB  BLOB全稱為二進位制大型物件(Binary Larg

oracle鎖概念 與 v$parameter介紹

1.oracle鎖概念 TM:table level lock TX:row level lock RS:row share RX:row exclusive S:share SRX:share row exclusive X:exclusive SSX: