易截截图软件、单文件、免安装、纯绿色、仅160KB

ORACLE程序包

程序包
 
包主体/规范名字一样
包主体/规范中的对应参数必须类型及名字一样
只能使用强类型的REF游标
 
创建程序包规范
create or replace package my_pack
is
       procedure find_emp_proc(eno emp.empno%type);
       function find_emp_fun(eno emp.empno%type) return emp.ename%type;
end my_pack;
 
SQL> ed
SQL> /
 
Package created
 
调用函数
SQL> select my_pack.find_emp_fun(7788) from dual;
 
select my_pack.find_emp_fun(7788) from dual
 
ORA-04068: 已丢弃程序包  的当前状态
ORA-04067: 未执行,package body "SCOTT.MY_PACK" 不存在
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 1
 
执行存储过程
SQL> exec my_pack.find_emp_proc(7788);
 
begin my_pack.find_emp_proc(7788); end;
 
ORA-04068: 已丢弃程序包  的当前状态
ORA-04067: 未执行,package body "SCOTT.MY_PACK" 不存在
ORA-06508: PL/SQL: 无法在调用之前找到程序单元
ORA-06512: 在line 2
 
创建程序包主体
create or replace package body my_pack
is
       empname emp.ename%type;
       procedure find_emp_proc(eno emp.empno%type)
       is
       begin
                 select ename into empname from emp where empno=eno;
                 dbms_output.put_line(empname);
       end;
       function find_emp_fun(eno emp.empno%type) return emp.ename%type
       is
       begin
                select ename into empname from emp where empno=eno;
      &nb


相关文档:

Oracle启动时ORA 00600错误处理方法

oracle  startup时 报错ORA-00600: 内部错误代码,参数: [kcratr1_lostwrt], [], [], [], [], [], [], []
原因可能是非法关机或掉电造成,以下是出现的问题及解决方法:
C:\Documents and Settings\Administrator>sqlplus
请输入用户名:  /as sysdba
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE ......

Redhat Linux oracle 10g em 按钮乱码解决

网上有很多的资料,参考itput(http://space.itpub.net/471666/viewspace-215923)的。
OS : Redhat
DB : Oracle 10.2.0.4.0
1.修改jdk 下面的字体。
[oracle@a ~]$ cd $ORACLE_HOME/jdk/jre/lib/
[oracle@a ~]]$ mv font.properties font.properties_bak
[oracle@a ~]]$
[oracle@a ~]]$ cp font.properties.zh_CN.R ......

Oracle Sql技巧 Upsert, Multitable Insert, Undrop

UpSert功能:
MERGE <hint> INTO <table_name>
USING <table_view_or_query>
ON (<condition>)
WHEN MATCHED THEN <update_clause>
WHEN NOT MATCHED THEN <insert_clause>;
MultiTable Inserts功能:
Multitable inserts allow a single INSERT INTO .. SELECT statement to ......

ORACLE 毫秒转换为日期 日期转换毫秒

--日期转换毫秒
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_ ......

ORACLE游标

ORACLE游标
游标:容器,存放当前SQL语句影响的记录
       所有DML语句都会用到游标
      
       逐行处理影响的行数
 
游标
       静态游标:游标与SQL语句在运行前关联
&nb ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号