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
相关文档:
问题描述:
当数据库的字符集为中文时,timestamp类型的字段为以下格式:
04-3月 -10 03.57.41.631000 下午
我在用JDOM将数据导出为XML时,timestamp类型字段的值反生了变化,变成了一下格式
2010-3-4.15.57. 30. 505000000
解决方案:
在查询该字段时首先用to_char()函数� ......
1.DUAL表的用途
Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中
--查看当前连接用户
SQL> select user from dual;
USER
------------------------------
SYSTEM
--查看当前日期、时间
SQL> select sysdate from dual;
SYSDATE
-----------
2007-1-2 ......
1>.NUMBER类型细讲:
Oracle number datatype 语法:NUMBER[(precision [, scale])]
简称:precision --> p
scale --> s
NUMBER(p, s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+1 ......
Oracle学习笔记二存储
——通过与SqlServer对比学习
存储
在SqlServer中,我们可以为一个数据库指定一组文件。数据存储在这些文件中。
& ......
Oracle学习笔记三方案
——通过与SqlServer对比学习
方案(schema)
在Oracle中,我们可以对数据库对象分组,这就是方案(schema),是数据库对象的集合。一个用户一般对应一个schem ......