网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.怎样在Oracle 10g存储过程中log错.
.Oracle Database 10 g : 为 DBA .
.Oracle数据库中主要配置文件的经.
.tochar和todate是如何使用的?格.
.利用SQL * Plus复制遗留的Oracle.
.双机容错环境下Oracle数据库应用.
.SQLPlus命令使用指南(三).
.SQLServer和Oracle常用函数对比.
.Oracle 数据库设计阶段性能优化策.
.为什么有时数据库不用索引来查找.
.Oracle JOB的建立,定时执行任务.
.巧妙转换ORACLE数据库字符集.
.Oracle的TNS-12502错误原因及解决.
.SQL语句的基本语法二.
.32bit 和 64bit 的问题.
.数据库正规化和设计技巧的一些方.
.一般应用程序的oracle配置.
.清单:负载测试 SQL Server性能调.
.Oracle SQL内置函数大全(一).
.Oracle数据库游标使用大全(1).

sql load的一点小总结

发表日期:2008-2-9


    这个算法相当简单。首先,使用 fares 表中的数据填充 faretemp 表,作为初始的航程。然后,取到我们刚才插入的所有数据,使用它们建立所有可能的二航程(two-hop)路径。重复这一过程,直至在两个节点之间创建了新路径。 循环过程将在节点间所有可能的路径都被描述之后退出。假如我们只对某个开始条件感爱好,那么我们还可以限制第一次的插入从而减少装载数据的量。下面是发现路径的代码: truncate table faretemp;
begin
    -- initial connections
    insert into faretemp
     select depart,arrive,1,depart','arrive,price from fares;
    while sql%rowcount > 0 loop
        insert into faretemp
            select depart,arrive,hops,route,price from nexthop
             where (depart,arrive)
                   not in (select depart,arrive from faretemp);
    end loop;
end;
/
show errors; select * from faretemp order by depart,arrive;     可以在表 A 中查看输出。     前面的数据有一个小问题。数据是点之间最短路径(最小航程数)的集合。然而,从伦敦到圣保罗的航程却不是最便宜的一个。     要解决最便宜的费用问题,需要对我们的循环做一个改进,当在一个航程中发现一个更便宜的路线时使用这个路线代替原来的路线。修改后的代码如下: truncate table faretemp;
declare
    l_count integer;
begin
    -- initial connections
    insert into faretemp
        select depart,arrive,1,depart','arrive,price from fares;
    l_count := sql%rowcount;
    while l_count > 0 loop
        update faretemp
           set (hops,route,price) =
              (select hops,route,price from nexthop
                where depart = faretemp.depart
                  and arrive = faretemp.arrive)
         where (depart,arrive) in
             (select depart,arrive from nexthop
               where price < faretemp.price);
        l_count := sql%rowcount;
        insert into faretemp
            select depart,arrive,hops,route,price from nexthop
             where (depart,arrive)
               not in (select depart,arrive from faretemp);
        l_count := l_count + sql%rowcount;
    end loop;
end;
/
show errors;
select * from faretemp order by depart,arrive;     可能在表 B 中查看输出。     算法发现LHR、JFK、GRU 路线比 LHR、GRU 路线便宜,所以用前者代替了后者。循环将在没有更便宜的费用,并且没有其它可能路线时退出。
上一篇:用SQL解决有向图问题 人气:632
下一篇:sql 存储过程分页 人气:1755
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐