WEB开发网
开发学院数据库Oracle Oracle数据库中获取数据的存储过程示例 阅读

Oracle数据库中获取数据的存储过程示例

 2008-09-04 12:50:09 来源:WEB开发网   
核心提示: --程序试用阶段,以后会删除satrt i_count := i_count + 1;IF i_count >100 THENCOMMIT;RETURN;END IF;--程序试用阶段,Oracle数据库中获取数据的存储过程示例(2),以后会删除end END LOOP; --数据c

--程序试用阶段,以后会删除satrt

i_count := i_count + 1;
IF i_count >100 THEN
COMMIT;
RETURN;
END IF;

--程序试用阶段,以后会删除end

END LOOP;

--数据commit,程序调试阶段避免大量数据,暂时关闭

--commit;

--------例外处理部分----------------------------

EXCEPTION
WHEN OTHERS THEN
rollback;
END SRBZ_GET_SRBZ_KD_SPEED;
/

2.使用语句拼接法实现insert功能:

注:2.1字符串常量的引号 2.2 变量的引号

create OR REPLACE PROCEDURE ABC(

-- 参数列表:

task_id IN number, --任务编号
task_name IN varchar2, --任务名称
in_NAME IN varchar2 --名称
)

--------------------------- PROCEDURE名 :ABC

-- 処理内容 :从数据源表取得符合条件的的数据插入到目标数据表

-- 引数 :table_src 数据源表

-- table_to 数据插入目标表

-- in_bdw_name 对数据源表限制条件:本地网名称

---------------------------------------------

IS

--insert_STRING 动态生成的insert语句存放处

insert_STRING VARchar2(1000);

--数据源表存放处

tableSrc varchar2(500);

--数据插入目标表存放处

tableTarget varchar2(1000);

--数据目标表需要插入值的字段存放处

StrFields varchar2(1000);

BEGIN

--数据源表为:AAA

tableTarget := ’ BBB ’;

--数据来源

tableSrc := ’ select seq_kd.nextval,sysdate,’||task_id||’,’’’||task_name||’’’, ’
||’A.* from AAA A’
||’ where A.value=’||’’’IP-VPDN’’’
||’AND A.remark IS NULL’;

--需要插入的字段

StrFields := ’(ROW_ID,GET_DATA_DT,TASK_ID,TASK_NAME,COST_CTR,SERVICE_ID,’
||’SI_ADDR,SI_SERVER_ID)’;

--生成insert语句

insert_STRING := ’insert INTO ’ || tableTarget || StrFields || tableSrc ;

--执行insert语句

execute immediate insert_STRING;

--提交事务

commit;

--------例外处理部分-------------------------------------------------------

EXCEPTION

--异常的抛出

WHEN OTHERS THEN
--DBMS_OUTPUT.PUT_LINE(’处理过程中出错,程序退出,未执行相关内务’);
rollback;
END SRBZ_GET_SRBZ_KD_GSVPDN_FREE;
/

上一页  1 2 

Tags:Oracle 数据库 获取

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接