小弟最近准备学oracle,已经在red hat linux as4 下面装好了oracle10g,也配好了自动启动之类的一些东西,但是接下来不知道该怎么学了,还要装什么东西吗?(因为我下oracle 10g有4部分,装的时候只用了db,还有3个iso文件没有用到,不懂是干什么用的),我是什么都不懂,所以请求各位高手给点建议,先谢过了!

解决方案 »

  1.   

    看文档,oracle concepts和相关的一些文档:http://tahiti.oracle.com
      

  2.   

    ORACLE的基本语法集锦 
    -- 表 
    create table test (names varchar2(12), 
                       dates date, 
                       num   int, 
                       dou   double); 
    -- 视图 
    create or replace view vi_test as 
    select * from test; -- 同义词 
    create or replace synonym aa 
    for dbusrcard001.aa; -- 存储过程 
    create or replace produce dd(v_id in employee.empoy_id%type) 
    as 
    begin 
        
    end 
    dd; -- 函数 
    create or replace function ee(v_id in employee%rowtype) return varchar(15) 
    is 
    var_test varchar2(15); 
    begin 
      return var_test; 
    exception when others then 
        
    end -- 三种触发器的定义 
    create or replace trigger ff 
    alter delete 
    on test 
    for each row 
    declare 
    begin 
       delete from test; 
       if sql%rowcount  < 0 or sql%rowcount is null then 
          rais_replaction_err(-20004,"错误") 
       end if 
    end 
    create or replace trigger gg 
    alter insert 
    on test 
    for each row 
    declare 
    begin 
       if :old.names = :new.names then 
          raise_replaction_err(-2003,"编码重复"); 
       end if 
    end 
    create or replace trigger hh 
    for update 
    on test 
    for each row 
    declare 
    begin 
      if updating then 
         if :old.names  <> :new.names then 
     reaise_replaction_err(-2002,"关键字不能修改") 
         end if 
      end if 
    end  -- 定义游标 
    declare 
       cursor aa is 
          select names,num from test; 
    begin 
       for bb in aa 
       loop 
            if bb.names = "ORACLE" then 
             
            end if 
       end loop; 
        
    end -- 速度优化,前一语句不后一语句的速度快几十倍 
    select names,dates  
    from test,b 
    where test.names = b.names(+) and 
          b.names is null and 
          b.dates > date('2003-01-01','yyyy-mm-dd')   
    select names,dates 
    from test  
    where names not in ( select names  
                           from b 
                          where dates > to_date('2003-01-01','yyyy-mm-dd')) 
                            -- 查找重复记录 
    select names,num  
    from test  
    where rowid != (select max(rowid)  
                     from test b  
                    where b.names = test.names and 
                          b.num = test.num) 
    -- 查找表TEST中时间最新的前10条记录 
    select * from (select * from test order by dates desc) where rownum  < 11 -- 序列号的产生 
    create sequence row_id 
    minvalue 1 
    maxvalue 9999999999999999999999 
    start with 1 
    increment by 1 insert into test values(row_id.nextval,....)  
    二:存储过程与函数的区别 
    1、函数的作用在于计算,存储过程的作用在于操作。 
    2、函数必须有返回值,存储过程不必。 
    3、存储过程是命令可以直接执行,  而函数是表达式的一部分必须是被调用, 
    比如 
    select max(NAME) FROM T 
    但是不能 exec max(NAME),因为max是函数。
      

  3.   

    各位大哥真是很热心,我还想问一下一定要安装客户端吗?如果不装客户端,在linux下怎么操作数据库啊,因为没有图形界面,比如说建数据库,建表,管理之类的是不是都得通过命令行来实现?
      

  4.   

    em
    最好装个toad什么的,挺好用的
      

  5.   

    装个第三方开发工具,如PL/SQL Developer
      

  6.   

    如果有其他数据库经验的话,学这个会更快些。
    学什么都强调基础。先看看oracle相关的基础资料和书籍,对你有很大帮助的。
      

  7.   

    其实oracle sql/developer挺好的
      

  8.   

    可以装个第三方开发工具,如PL/SQL。我现在也在学习这个。