Oracle 学习笔记(1)

2008年11月2日17:35:15
  刚安装一个Oracle
  通过 system\zp@orcl报错,说net管理器出错。
  可以通过修改ip地址,将127.0.0.1到换成192.168.172.812的地址,就好了。

 

2008年11月5日17:35:11
在oracle中 nvl(null,’’)或者nvl2(null,‘st’,’’)返回的也是null,而不是’’空字符,除非中间空一格。

with  a  as
(select id, objname from CATEGORY
where pid='40288183126b8a8101126bba46880039'),
b as
(select * from docbase)
select count(*) from A,b;
在使用with时,必须在后续的使用中都使用a,b否则会报错
 With使用语法:
  With a as(……),b as (……)即可

update permissionruledocbase a
set col2=nvl((select b.id from permissionlinkdocbase b where  b.ruleid=a.id),'');
dbms_output.put_line(sql%rowcount);

1,此更新是都更新,如果后面没有匹配的数据,将付给为null,
2,sql%rowcount为游标的属性,为影响多少行
3,SQL %NOTFOUND  是否找到数据
 4,SQL%FOUND 是否找到数据

将可变数组或者是嵌套表REF CURSOR结果集
create or replace type t_array as table of varchar2(4000);

2、package中 声明

   declare  cursor type T_cur is ref cursor;
   存储过程
    procedure pro_StorageStatus(as_month  varchar2, --查询月份
                              cur_1      out t_cur, --返回
                              as_OutMsg out varchar2, --传出参数
                              an_Res    out int) is
    l_jg t_array := t_array();
    ls_temp varchar2(4000); 
    begin
      ...
      l_jg.extend;
      l_jg(l_jg.last) := ls_temp;
      ...
      open cur_1 for select * from table(cast (l_jg as t_array));
    end;

posted @ 2008-11-20 09:19  zping  阅读(408)  评论(0编辑  收藏  举报