Oracle如何執行儲存過程
阿新 • • 發佈:2019-01-03
示例:有如下建立索引的儲存過程
--procedure create_index create or replace procedure create_index(indexName in varchar2, tableName in varchar2, columnName in varchar2) is 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;