db2刪除已經儲存的表儲存過程
drop procedure DROP_IF_EXISTS;
create procedure DROP_IF_EXISTS(in tabschame varchar(100),in tabname varchar(100))
--儲存過程詳細說明--
--儲存過程名: DROP_IF_EXISTS--
--儲存過程建立日期:2012/8/15--
--儲存過程建立人:顧原力--
--目的:查詢DB2表是否存在,如果存在就刪除--
--輸入引數:tabschame tabname--
--輸出引數:--
--返回值:--
begin
--定義變數--
declare spname varchar(20) default 'DROP_IF_EXISTS';--定義儲存過程的名稱--
declare v_i integer DEFAULT 0;--定義判斷變數--
declare t_sql varchar(1000);--存放拼寫刪除SQL--
declare v_tabname varchar(100); --存放完整表名--
declare tname varchar(100); --存放表名--
DECLARE SQLCODE integer DEFAULT 0;--編碼程式碼初始值為0--
declare returncode integer;--儲存發生錯誤的錯誤號--
declare returnmsg varchar(500);--儲存發生錯誤時的錯誤資訊--
--宣告異常--
declare exit handler for not found--sqlcode值為100的異常,這個異常通常在SELECT沒有返回行的時候出現--
begin
set returncode=sqlcode;--把錯誤號賦給returncode--
insert into LOADTMSG values(returncode);--記錄錯誤日誌插入表中--
commit;
end;
declare exit handler for sqlwarning--標識導致警告異常或者導致+100以外的SQLCODE正值的異常--
begin
set returncode=sqlcode;
insert into LOADTMSG values(returncode);
commit;
end;
declare exit handler for sqlexception--標識導致SQLCODE值為負的異常--
begin
set returncode=sqlcode;
insert into LOADTMSG values(returncode);
commit;
end;
set v_tabname = tabschame||'.'||tabname;
set tname = tabname;
--判斷資料庫中有無此表,如果有此表就刪除--
select count(*) into v_i from syscat.tables where TYPE='T' and TABNAME=upper(tname);
if v_i = 1 then
set t_sql='DROP TABLE '||v_tabname;
execute immediate t_sql;
commit;
end if;
commit;
end;
call DROP_IF_EXISTS('DB2inst1','LOADT3');--呼叫儲存過程--
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7490392/viewspace-1059427/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 刪除私有dblink的儲存過程儲存過程
- 儲存過程誤刪除的恢復儲存過程
- DB2儲存過程DB2儲存過程
- [DB2]儲存過程經常使用方法DB2儲存過程
- plsqlDevloper 儲存過程的除錯SQLdev儲存過程除錯
- Sql儲存過程分頁--臨時表儲存SQL儲存過程
- mssql sqlserver 批量刪除所有儲存過程的方法分享SQLServer儲存過程
- 刪除MSSQL危險儲存過程的程式碼(轉)SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程MySql儲存過程
- 儲存過程與儲存函式儲存過程儲存函式
- 儲存過程儲存過程
- 從sybase的儲存過程轉向oracle的儲存過程儲存過程Oracle
- Mysql 的儲存過程和儲存函式MySql儲存過程儲存函式
- 如何刪除名稱相同的儲存過程儲存過程
- 在儲存過程A中呼叫儲存過程B的結果儲存過程
- (轉)如何oracle除錯儲存過程Oracle除錯儲存過程
- openGauss 支援儲存過程除錯儲存過程除錯
- SQL 儲存過程裡呼叫另一個儲存過程SQL儲存過程
- MySQL儲存過程詳解 mysql 儲存過程linkMySql儲存過程
- Oracle儲存過程乾貨(一):儲存過程基礎Oracle儲存過程
- oracle的儲存過程Oracle儲存過程
- 修改的儲存過程儲存過程
- mysql的儲存過程MySql儲存過程
- Oracle儲存過程Oracle儲存過程
- 使用儲存過程儲存過程
- sybase儲存過程儲存過程
- java儲存過程Java儲存過程
- 管理儲存過程儲存過程
- 呼叫儲存過程儲存過程
- mysql 儲存過程MySql儲存過程
- SQLSERVER儲存過程SQLServer儲存過程
- MySql儲存過程—2、第一個MySql儲存過程的建立MySql儲存過程
- 儲存過程呼叫其他模式的儲存過程需要注意的地方儲存過程模式
- mysql 儲存過程 procedure 批次建表MySql儲存過程
- 用儲存過程動態建立表儲存過程
- 儲存過程中巢狀儲存過程的變數執行方式儲存過程巢狀變數
- mysql和orcale的儲存過程和儲存函式MySql儲存過程儲存函式
- mysql儲存函過程和儲存函式都屬於儲存程式MySql儲存函式