在oracle中,可以利用“begin end”語句和指定存儲過程名字并給出參數來執行存儲過程,語法為“create or replace procedure 存儲過程名 begin 用戶名 過程名(參數); end;”。
本教程操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。
怎樣執行oracle存儲過程
示例:有如下創建索引的存儲過程
--procedure?create_index create?or?replace?procedure?create_index(indexName?in?varchar2,?tableName?in?varchar2,?columnName?in?varchar2) i tmp_name?VARCHAR2(50); TMP_SQL?VARCHAR2(1024); cnt?NUMBER; begin select?table_name?into?tmp_name?from?user_tables?where?upper(table_name)=upper(tableName); if?length(tmp_name)>0?then SELECT?COUNT(*)?INTO?cnt?FROM?USER_INDEXES?T?WHERE?T.TABLE_NAME=''||?tableName?||''?AND?T.INDEX_NAME=''||?indexName; IF?cnt?=?0?THEN execute?immediate?'create?index?'?||?indexName?||'?on?'?||?tableName?||'('||?columnName?||')?TABLESPACE?TBS_TXNIDX'; END?IF; end?if; EXCEPTION WHEN?NO_DATA_FOUND?THEN BEGIN NULL; END; end;
1)在命令窗口下: exec 存儲過程(參數…);
exec?create_index('IDX_ORG_SET_PROCESS_1','CPS_ORG_SETTLEMENT_PROCESS','ORG_IDENTITY_ID?ASC');
2)在sql窗口下:
begin create_index('IDX_STATEMENT_DETAIL_LINK','CPS_BANK_STATEMENT_DETAIL','LINK_TXN_ID?ASC'); end;
推薦教程:《Oracle視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦