ORACLE过程、函数
过程、函数
create or replace procedure p1
is
empname emp.ename%type;
begin
select ename into empname from emp where empno=7788;
dbms_output.put_line(empname);
end;
SQL> ed
SQL> /
Procedure created
SQL> exec p1;
SCOTT
PL/SQL procedure successfully completed
create or replace procedure p1(eno emp.empno%type)
is
empname emp.ename%type;
begin
select ename into empname from emp where empno=eno;
dbms_output.put_line(empname);
end;
SQL> ed
SQL> /
Procedure created
SQL> exec p1(7788);
SCOTT
PL/SQL procedure successfully completed
create or replace procedure p1(eno in emp.empno%type)
is
empname emp.ename%type;
begin
select ename into empname from emp where empno=eno;
dbms_output.put_line(empname);
end;
SQL> ed
SQL> /
Procedure created
SQL> exec p1(7788);
SCOTT
PL/SQL procedure successfully completed
create or replace procedure p1(eno in emp.empno%type,outname out emp.ename%type)
is
empname emp.ename%type;
begin
select ename into empname from emp where empno=eno;
outname:=empname;
end;
declare
empname emp.ename%type;
begin
p1(7788,empname);
dbms_output.put_line(empname);
end;
SQL> ed
SQL> /
SCOTT
PL/SQL procedure successfully completed
create or replace procedure p1(eno_name in out emp.ename%type)
is
empname emp.ename%type;
begin
select ename into empname from emp where empno=eno_name;
eno_name:=empname;
end;
declare
empname emp.ename%type;
begin
empname:=7788;
p1(empname);
dbms_output.put_line(empname);
end;
SQL> ed
SQL> /
SCOTT
PL/SQL proc
相关文档:
1.准备工作:
安装32位或64位RHEL5.4,安装向导中不需要选任何组件,不需要预配置任何用户,IP是DHCP或静态皆可。
安装后配置额外组件:
yum -y install libXp,make,binutils,gcc,kernel-headers,glibc-headers,glibc-devel,libgomp
在x86_64上还需要compat-libstdc++-33.x86_64
对x86,上传并解压10201_database_lin ......
Oracle提供的序号函数:
以emp表为例:
1: rownum 最简单的序号 但是在order by之前就确定值.
select rownum,t.* from emp t order by ename
行数
ROWNUM
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
1
11
7876
ADAMS
CLERK
7788
1987-5-23
1100
20
2
2
7499
ALLEN
SALESMAN
7698
......
也许对SQL Server来说,取前N位的数据是很简单的事情,一条TOP语句就搞定了.
在Oracle中我们往往会感觉到头疼,平日里也常会用到,主要是使用partition by.
语法如下:
select emp_card_no,work_date,read_card_date,count(rownum) as cnt
from hra_read_car ......
自己整理了下Oracle的数据库备份方案,用过冷备份。其他没有测试过
一、 导出/导入(Export/Import)
利用Export可将数据从数据库
中提取出来,利用Import则可将提取出来的数据送回到Oracle
数据库中去。
1、 简单导出数据(Export)和导入数据(Import):
Oracle支持三种方式类型的输出:
(1)、表方式(T方 ......
--日期转换毫秒
SELECT TO_NUMBER(TO_DATE('2005-03-29 12:30:45', 'YYYY-MM-DD HH24:MI:SS') -
TO_DATE('1970-01-01 8:0:0', 'YYYY-MM-DD HH24:MI:SS')) * 24 * 60 * 60 * 1000
from DUAL;
--毫秒转换日期
SELECT TO_CHAR(1112070645000 / (1000 * 60 * 60 * 24) +
TO_ ......