首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • ORACLE的基本语法集锦
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chaihuoniu
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-05-15 16:27:50 楼主
    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,....)


    100  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ehuman
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 16:28:541楼 得分:0
    科普知识,真好。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhpsam109
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 16:29:072楼 得分:0
    好,顶一下!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hebo2005
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 3

      2

    发表于:2008-05-15 16:30:013楼 得分:0
    -- 速度优化,前一语句不后一语句的速度快几十倍
    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'))

    用no exists不是更快
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Robin_Ares
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 16:34:504楼 得分:0
    引用 3 楼 hebo2005 的回复:
    -- 速度优化,前一语句不后一语句的速度快几十倍 
    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')) 

    用n…

    不一定,看匹配的数量有多少了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Evenque
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 17:46:155楼 得分:0
    谢谢楼主

    收集了~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • priwilliam
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 20:14:426楼 得分:0
    感谢lz的劳动
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ruihuahan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 3

    发表于:2008-05-15 20:15:127楼 得分:0
    谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fxianxian
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 20:23:238楼 得分:0
    不错
    继续努力
    支持原创
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yjntue
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-15 20:24:129楼 得分:0
    谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hery2002
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

      2

    发表于:2008-05-15 20:40:3510楼 得分:0
    妞妞到处发帖子哦~
    漂移~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhouzongxi
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 01:17:4611楼 得分:0
    把游标还有程序包也补上更好了。不错哦。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • HelloWorld_001
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 2

    发表于:2008-05-16 08:39:3912楼 得分:0
    引用 2 楼 zhpsam109 的回复:
    好,顶一下!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fenghongx
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 08:47:1113楼 得分:0
    谢谢~~学习中~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • whetu
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 11:28:3314楼 得分:0
    很科普很实用
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • yxiaowang
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 13:06:5015楼 得分:0
    引用 13 楼 fenghongx 的回复:
    谢谢~~学习中~~
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • abchappybear
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 13:12:1916楼 得分:0
    好,收藏了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dd450007920
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-16 16:12:2717楼 得分:0
    真的很不错,很实用!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • huangandsun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 09:39:3418楼 得分:0
    好东西,谢谢
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hdhai9451
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 11:52:1519楼 得分:0
    感谢楼主!

    几年义务教育普及!!!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hdhai9451
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 11:57:2320楼 得分:0
    谢谢,九年义务教育普及@@@!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xudaqing2008
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 13:23:5821楼 得分:0
    路过,学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • BrainStormLi
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 15:58:1122楼 得分:0
    支持!~ 有索引和分層樹結構查詢就更好了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • Micheal_NET
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-17 18:35:3123楼 得分:0
    oracle学习群:62016348
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sp272530
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-19 12:28:2624楼 得分:0
    谢谢了,很有用
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • hxmsammi
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-19 22:13:2425楼 得分:0
    很好啊,这些差不多都会了,顶!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • linsyuan
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-20 09:06:1026楼 得分:0
    各个关键词都写上去吧.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • mldshlizhi
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-20 09:20:3927楼 得分:0
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chensi05
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-20 17:26:3628楼 得分:0
    进来学习,哈哈
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wizardlun
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-20 18:46:5229楼 得分:0
    好,頂一下!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • p_g_djava
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-27 13:59:1230楼 得分:0