Rumah  >  Artikel  >  pangkalan data  >  怎样执行oracle存储过程

怎样执行oracle存储过程

WBOY
WBOYasal
2022-01-25 14:24:1427969semak imbas

在oracle中,可以利用“begin end”语句和指定存储过程名字并给出参数来执行存储过程,语法为“create or replace procedure 存储过程名 begin 用户名 过程名(参数); end;”。

怎样执行oracle存储过程

本教程操作环境: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视频教程

Atas ialah kandungan terperinci 怎样执行oracle存储过程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:oracle的转义字符是什么Artikel seterusnya:oracle怎样修改字符集