oracle代码实例,oracle存储过程代码实例
1、用來插入大量測試數據的存儲過程
CREATE OR REPLACE PROCEDURE INSERTAMOUNTTEST
(
ST_NUM??????? IN???? NUMBER,
ED_NUM??????? IN???? NUMBER
)
IS
BEGIN
declare
i?? number;
begin
FOR i IN ST_NUM..ED_NUM LOOP
INSERT INTO tb values(i,i,'3','3','3',100,'0');
END LOOP;
end;
END;
運行:
sql>execute INSERTAMOUNTTEST(1,45000)?? -- 一次插入45000條測試數據
2、從存儲過程中返回值
create or replace procedure spaddflowdate
(
varAppTypeId?????????????? in varchar2,
varFlowId????????????????? in varchar2,
DateLength???????????????? in number,
ReturnValue??????????????? out number??? --返回值
)
is
begin
insert into td values(varAppTypeId,varFlowId,DateLength)
returning 1 into ReturnValue;?? --返回值
commit;
exception
when others then
rollback;
end;
存儲過程的執行
sql>variable testvalue? number;
sql>execute spaddflowdate('v','v',2,:testvalue);
sql>print
就可以看到執行結果
3、用包實現存儲過程返回游標:
create? or? replace? package? test_p
as
type? outList? is? ref? cursor;
PROCEDURE? getinfor(taxpayerList? out? outList);
end? test_p;
/
create? or? replace? package? body? test_p? as? PROCEDURE? getinfor(taxpayerList out? outList)? is? begin
OPEN? taxpayerList??? FOR? select? *? from
td where tag='0';
end? getinfor;
end? test_p;
/
運行:
set? serverout? on;??? --將輸出工具打開
variable? x? refcursor;
execute test_p.getinfor(:x);
exec? test_p.getinfor(:x);
print? x;
drop package test_p;
總結
以上是生活随笔為你收集整理的oracle代码实例,oracle存储过程代码实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php正则可以实现模糊匹配,正则表达式的
- 下一篇: hubbledotnet mysql_H