oracle 过程 如何执行,Oracle如何执行存储过程

示例:有如下创建索引的存储过程

--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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值