<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    tbwshc

    #

    eclipse啟動異常

    1、eclipse啟動異常jvm terminated.Exit code=-1錯誤的解決

    解決方案:

    打開安裝目錄下的eclipse.config配置文件,大致的內容如下,

    -startup
    plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
    --launcher.library
    plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
    -product
    org.eclipse.epp.package.jee.product
    --launcher.XXMaxPermSize
    256M
    -showsplash
    org.eclipse.platbform
    --launcher.XXMaxPermSize
    256m
    -vmargs
    -Dosgi.requiredJavaVersion=1.5
    -Xms40m
    -Xmx512m

    其中的“Xmx512m” 改成“Xmx256m”,OK搞定。

    posted @ 2012-07-04 13:11 chen11-1 閱讀(712) | 評論 (0)編輯 收藏

    SQL Server 中的時間算法

         摘要: DECLARE @Date DATETIME SET @Date=GETDATE() --前一天,給定日期的前一天 SELECT DATEADD(DAY,-1,@Date) AS '前一天' --后一天,給定日期的后一天 SELECT DATEADD(DAY,1,@Date) AS '后一天' GO --月初,計算給定日期所在月的第一天 --這個計算的技巧是先計算當前日...  閱讀全文

    posted @ 2012-07-03 13:32 chen11-1 閱讀(952) | 評論 (0)編輯 收藏

    用戶無操作自動跳轉

    <html> 
    <
    head>
    <
    script language="JavaScript">
    <!--
     var meizz; //設置一個全局變量
    var n = 30 * 1000; //時間設置(300秒)
    meizz
    = setTimeout("window.location.href='t.html'", n);
    function
    window.top.document.onmousemove() {
    clearTimeout(meizz);
    meizz
    = setTimeout("window.location.href='t.html'", n);
    }
    function window.top.document.onkeydown()
    {
    clearTimeout(meizz);
    meizz
    = setTimeout("window.location.href='t.html'", n);
    }
    //-->
    </
    script>
    </
    head>
    <
    FRAMESET border=0 COLS="20%,80%">
    <
    FRAME SRC="11.html" NAME="left"> <FRAMESET Rows="50%,50%"> <FRAME SRC="22.html" NAME="main"> <FRAME SRC=" NAME="right"> </FRAMESET> </FRAMESET> </HTML>

    posted @ 2012-07-03 13:29 chen11-1 閱讀(760) | 評論 (0)編輯 收藏

    該伙伴事務管理器已經禁止了它對遠程/網絡事務的支持

    手上的項目快接近尾聲了,這二天準備切換舊系統時,需要與其它數據庫做一些同步的工作,以前的系統在中間層使用COM+組件做數據同步,這次本想偷 個懶,使用鏈接服務器做個視圖,使用相應的觸發器來同步,在提交數據時,總時報:“鏈接服務器"192.168.2.10"的 OLE DB 訪問接口 "SQLNCLI" 返回了消息 "該伙伴事務管理器已經禁止了它對遠程/網絡事務的支持”錯誤。。花了半天時的時間,總算把問題解題了,現總結一下,希望對大家有所幫助。

       主要的問題還是MSDTBC的設置,找了一篇如下的文章,很幫助:

      關于“COM+ 無法與 Microsoft 分布式事務協調程序交談

    出現了“該伙伴事務管理器已經禁止了它對遠程/網絡事務的支持”的錯誤,一個很叫人郁悶的錯誤,找了很多資料,基本的解決方法整理如下:
      1. 單擊“開始”,指向“控制面板”,然后單擊“添加/刪除程序”。
      2. 單擊“添加/刪除 Windows 組件”。
      3. 選擇“應用程序服務器”,然后單擊“詳細信息”。
      4. 選擇“啟用網絡 DTC 訪問”,然后單擊“確定”。
      5. 單擊“下一步”。
      6. 單擊“完成”。
      7. 停止分布式事務協調器服務,然后重新予以啟動。
      8. 停止參與分布式事務的任何資源管理器服務(如 Microsoft SQL Server 或 Microsoft Message Queue Server),然后重新予以啟動。
      9.檢查MSDTC設置是否正確.
       1)打開命令提示,運行"net stop msdtc",然后運行"net start msdtc"。
       2)轉至"組件服務管理工具"。
       3)瀏覽至"啟動管理工具"。
       4)選擇"組件服務"。
       a.展開"組件服務"樹,然后展開"我的電腦"。
       b.右鍵單擊"我的電腦",然后選擇"屬性"。
       c.在 MSDTC 選項卡中,確保選中了下列選項: 網絡 DTC 訪問
       網絡管理
       網絡事務
       XA 事務
       d.另外,"DTC 登錄帳戶"一定要設置為"NT Authority\NetworkService"。
       5)單擊"確定"。這樣將會提示您"MS DTC 將會停止并重新啟動。
       所有的依賴服務將被停止。請按'是'繼續"。單擊"是"繼續。
       6)單擊"確定"關閉"我的電腦"屬性窗口。
      10.關閉網絡防火墻(或者開放相應的端口135)

    1. 先在程序計算機上設置MSDTC:控制面板->管理工具->組件服務->我的電腦->右jiang->屬性 ->MSDTC->安全配置(Security Configuration)->打開Network DTC Access 同時打上
    Allow Inbound ,Allow Outbound ,No Authentication Required,Enable Transaction Internet Protocol[TIP] Transaction
    2.請在遠程數據庫計算機上做1同樣的事情

    3.雙方計算機重新啟動MSDTC

    4.這樣就可以了

    其它的一些資料:

    分布式事務在Windows 2003的配置比較麻煩,原來我就碰到過怎么設置也啟動不了的情況,近日在別人指導下弄好了,順便寫個配置步驟,希望對大家有用
    1、 添加/刪除程序中,選擇添加Windows組件,選擇應用程序服務器,選擇啟用分布式事務網絡訪問
    2、 在DTC所涉及的所有服務器中,啟用NETBIOS,確保所有服務器能相互ping通對方,具體為修改所有服務器中的C:\Windows\System32\Drivers\etc\hosts文件(具體可參考hosts文件的內部幫助)。[注意]必須修改所有的服務器中的hosts文件
    3、 禁用SQL Server 的DTC RPC安全,具體為在HKEY_LOCAL_MACHINE\Software\Microsoft\MSDTC下新建一個DWord鍵,名稱為TurnOffRpcSecurity,設置其值為1
    4、 重啟MSDTC
    5、 關閉網絡防火墻(或者開放相應的端口)
    6、 參考:
    http://www.support.microsoft.com/?kbid=555017&SD=tech
    http://support.microsoft.com/default.aspx?scid=kb;zh-tw;306843
    http://support.microsoft.com/kb/250367/

    posted @ 2012-07-03 13:28 chen11-1 閱讀(3000) | 評論 (0)編輯 收藏

    Oracle查詢優化4大方面的主要途徑

    數據庫最基本的任務是存儲、管理數據,而終端用戶唯一能看到的數據庫特性就是其性能:數據庫以何速度處理某一指定查詢的結果,并且將結果返回到用戶所用的工具和應用程序。從大多數系統的應用實例來看,查詢操作在各種數據庫操作中所占據的比重最大、查閱新聞、 查看文件、 查詢統計信息等。因此,數據庫查詢操作的效率是影響一個應用系統響應時間的關鍵因素。隨著一個應用系統中數據的動態增長,數據量變大,數據庫查詢效率就會有所降低,應用系統的響應速度也隨之減慢,尤其對于海量數據的管理和查詢問題就更加突出,Oracle查詢優化就顯得尤為重要。   

    目前通用的數據庫產品有很多種,其中Oracle數據庫以其支持大數據庫、多用戶的高性能事務處理, 對業界各項工業標準的支持,完整的安全和完整性控制,支持分布式數據庫利分布處理 具有可移植性、可兼容性和可連接性等突出優點倍受用戶喜愛,應用較為廣泛,在互聯網數據庫平臺上處于領先地位、其Spatial技術能更加有效地管理地理信息,實現海量空間信息的存儲和管理。本文結合Oracle數據庫應用經驗,從命中率提高、多表查詢優化、大表查詢優化和SQL優化等四個方面闡述Oracle查詢優化的經驗和方法。

    Oracle查詢優化第一方面:Oracle數據查詢tb命中率的提高   

    “命中率(HITRATIO) 是指直接從內存中取得數據而不從磁盤中取得數據的比率,也就是查詢請求的數據塊已經在內存中次數的百分比”。影響命中率的因素有四種:字典表活動、臨時段活動、回滾段活動、表掃描, 應用DBA可以對這四種因素進行分析,找出數據庫命中率低的癥結所在。

    1)字典表活動  

    當一個SQL語句第一次到達Oracle內核時數據庫對SQL語句進行分析,包含在查詢中的數據字典對象被分解,產生SQL執行路徑。如果SQL語句指向一個不在SGA中的對象??表或視圖,Oracle執行SQL語句到數據典中查詢有關對象的信息。數據塊從數據字典表被讀取到SGA的數據緩存中。由于每個數據字典都很小,因此,我們可緩存這些表以提高對這些表的命中率。但是由于數據字典表的數據塊在SGA中占據空間,當增加全部的命中率時,它們會降低表數據塊的可用空間, 所以若查詢所需的時間字典信息已經在SGA緩存中,那么就沒有必要遞歸調用。

    2)臨時段的活動   

    當用戶執行一個需要排序的查詢時,Oracle設法對內存中排序區內的所有行進行排序,排序區的大小由數據庫的init.ora文件的數確定。如果排序區域不夠大,數據庫就會在排序操作期間開辟臨時段。臨時段會人為地降低OLTP(online transaction processing)應用命中率,也會降低查詢進行排序的性能。如果能在內存中完成全部排序操作,就可以消除向臨時段寫數據的開銷。所以應將SORT_AREA_SIZE設置得足夠大,以避免對臨時段的需要。這個參數的具體調整方法是:查詢相關數據,以確定這個參數的調整。  
    select * from v$sysstat where name='sorts(disk)'or name='sorts(memory);

    大部分排序是在內存中進行的,但還有小部分發生在臨時段, 需要調整 值,查看init.ora文件的 SORT_AREA_SIZE值,參數為:SORT_AREA_SIZE=65536;將其調整到SORT_AREA_SIZE=131072、這個值調整后,重啟ORACLE數據庫即可生效。

    3)回滾段的活動   

    回滾段活動分為回滾活動和回滾段頭活動。對回滾段頭塊的訪問會降低應用的命中率, 對OLTP系統命中率的影響最大。為確認是否因為回滾段影響了命中率,可以查看監控輸出報表中的“數據塊相容性讀一重寫記錄應用” 的統計值,這些統計值是用來確定用戶從回滾段中訪問數據的發生次數。

    4)表掃描   

    通過大掃描讀得的塊在數據塊緩存中不會保持很長時間, 因此表掃描會降低命中率。為了避免不必要的全表掃描,首先是根據需要建立索引,合理的索引設計要建立人對各種查詢的分析和預測上,筆者會在SQL優化中詳細談及;其次是將經常用到的表放在內存中,以降低磁盤讀寫次數。例如 Alter table your_table_name cathe。

    posted @ 2012-06-30 23:02 chen11-1 閱讀(1524) | 評論 (0)編輯 收藏

    Oracle數據庫索引的優點與缺點簡介

    以下的文章主要介紹的是Oracle數據庫索引的優點與缺點,我們大家都知道Oracle數據庫的索引可以分為:聚集索引,非聚集索引,以及唯一索引。其優點主要是方便查詢,其在相關的數據量大時排序更易查詢。

    缺點:查詢時需要進行重新排序,減少了效率。物理Oracle數據庫索引缺點 建立索引效率低,只能建一個。

    為什么要創建Oracle數據庫索引呢?這是因為,創建索引可以大大提高系統的性能。第一,通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。第二,可以大大加快數據的檢索速度,這也是創建索引的最主要的原因。

    第三,可以加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。第四,在使用分組和排序子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的性能。

    也許會有人要問:增加索引有如此多的優點,為什么不對表中的每一個列創建一個索引呢?這種想法固然有其合理性,然而也有其片面性。雖然,tb索引有許多優點,但是,為表中的每一個列都增加索引,是非常不明智的。這是因為,增加索引也有許多不利的一個方面。

    第一,創建索引和維護索引要耗費時間,這種時間隨著數據量的增加而增加。第二,索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。第三,當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。

    索引是建立在數據庫表中的某些列的上面。因此,在創建Oracle數據庫索引的時候,應該仔細考慮在哪些列上可以創建索引,在哪些列上不能創建索引。

    一般來說,應該在這些列上創建索引,例如:在經常需要搜索的列上,可以加快搜索的速度;在作為主鍵的列上,強制該列的唯一性和組織表中數據的排列結構;在經常用在連接的列上,這些列主要是一些外鍵,可以加快連接的速度;

    在經常需要根據范圍進行搜索的列上創建索引,因為索引已經排序,其指定的范圍是連續的;在經常需要排序的列上創建索引,因為索引已經排序,這樣查詢可以利用索引的排序,加快排序查詢時間;在經常使用在WHERE子句中的列上面創建索引,加快條件的判斷速度。

    同樣,對于有些列不應該創建Oracle數據庫索引。一般來說,不應該創建索引的的這些列具有下列特點:第一,對于那些在查詢中很少使用或者參考的列不應該創建索引。這是因為,既然這些列很少使用到,因此有索引或者無索引,并不能提高查詢速度。

    相反,由于增加了索引,反而降低了系統的維護速度和增大了空間需求。第二,對于那些只有很少數據值的列也不應該增加索引。這是因為,由于這些列的取值很少,例如人事表的性別列,在查詢的結果中,結果集的數據行占了表中數據行的很大比例,即需要在表中搜索的數據行的比例很大。

    增加索引,并不能明顯加快檢索速度。第三,對于那些定義為text, image和bit數據類型的列不應該增加索引。這是因為,這些列的數據量要么相當大,要么取值很少。第四,當修改性能遠遠大于檢索性能時,不應該創建索引。

    這是因為,修改性能和檢索性能是互相矛盾的。當增加索引時,會提高檢索性能,但是會降低修改性能。當減少索引時,會提高修改性能,降低檢索性能。因此,當修改性能遠遠大于檢索性能時,不應該創建Oracle數據庫索引。

    posted @ 2012-06-30 22:51 chen11-1 閱讀(1335) | 評論 (0)編輯 收藏

    Oracle SQL執行緩慢的原因以及解決方案

    以下的文章抓喲是對Oracle SQL執行緩慢的原因的分析,如果Oracle數據庫中的某張表的相關數據已是2億多時,同時此表也創建了相關的4個獨立的相關索引。由于業務方面的需要,每天需分兩次向此表中插入300萬條記錄。

     

    由于數據量大,每次插入耗時3個小時以上,嚴重影響效率。

    因此,修改了系統的算法,將此表中只存儲當天新增記錄。將此表truncate后,第二天執行對此表的update操作時,非常耗時。表中有2億多條數據的時候,此Oracle sql語句耗時59秒;表中有300萬條數據的時候,此Oracle sql語句耗時幾個小時。

    咨詢DBA后,得出結論,需重建索引。重建后,6秒完成此操作。但第三天問題依然出現。DBA正在查找原因。難道每次truncate表,都需要重建tb索引?

    對于這個問題,DBA也沒有給出合理的解釋,推測主要原因是Oracle復雜的查詢優化算法。

    最終,DBA給出的解決方案:


    1. truncate table ....  
    2. drop index.....  
    3. insert data .....  
    4. create index ...  
    5. analyze table table_name compute statistics;

     

    重新生成統計數據

    調整后,整個操作耗時非常少。 

    以上的相關內容就是對Oracle SQL執行緩慢的分析的介紹,望你能有所收獲。

     

    posted @ 2012-06-30 22:46 chen11-1 閱讀(931) | 評論 (0)編輯 收藏

    強大SQL的日期格式化函數

    Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
    Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
    Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
    Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
    Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
    Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
    Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
    Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
    Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
    Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
    Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
    Select CONVERT(varchar(100), GETDATE(), 12): 060516
    Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
    Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
    Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
    Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMtb
    Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
    Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
    Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
    Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
    Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
    Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
    Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
    Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
    Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
    Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
    Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
    Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
    Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
    Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
    Select CONVERT(varchar(100), GETDATE(), 112): 20060516
    Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
    Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
    Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
    Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
    Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
    Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
    Select CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM

    posted @ 2012-06-29 13:46 chen11-1 閱讀(801) | 評論 (0)編輯 收藏

    SQL的內連接、外連接、左連接、右連接、全連接【轉】

    從兩個或更多個表中組合數據的過程稱為連接表。數據庫管理程序從指定的表中形成行的所有組合。對于每個組合,它都測試連接條件。連接條件是帶有一些約束的搜索條件。有關約束的列表,參考 SQL Reference。
      

      注意:連接條件涉及的列的數據類型不必相同;然而,這些數據類型必須相容。計算連接條件的方式與計算其他搜索條件的方式相同,并且使用相同的比較規則。
      
      如果未指定連接條件,則返回在 FROM 子句中列出的表中行的所有組合,即使這些行可能完全不相關。該結果稱為這兩個表的交叉積。
      
      本節中的示例基于下面兩個表。這兩個表只是樣本數據庫中表的簡化形式,在樣本數據庫中并不存在。這tb兩個表一般用來概述關于連接的重點。 SAMP_STAFF 列出未作為合同工雇用的雇員的姓名以及這些雇員的職務說明,而 SAMP_PROJECT 則列出雇員(合同工和全職人員)的姓名以及這些雇員所參與的項目。
      
      這些表如下:
      
      圖 5. SAMP_PROJECT 表
      
       sql入門:連接(圖一)
      
      圖 6. SAMP_STAFF 表
      
       sql入門:連接(圖二)
      
      下列示例產生兩個表的交叉積。因未指定連接條件,所以給出了行的所有組合:
      
       SELECT SAMP_PROJECT.NAME,
          SAMP_PROJECT.PROJ, SAMP_STAFF.NAME, SAMP_STAFF.JOB
        FROM SAMP_PROJECT, SAMP_STAFF
      
      此語句產生下列結果:
      
       sql入門:連接(圖三)
      
      兩個主要的連接類型是內連接和外連接。到目前為止,所有示例中使用的都是內連接。tb內連接只保留交叉積中滿足連接條件的那些行。如果某行在一個表中存在,但在另一個表中不存在,則結果表中不包括該信息。
      
      下列示例產生兩個表的內連接。該內連接列出分配給某個項目的全職雇員信息:
      
       SELECT SAMP_PROJECT.NAME,
          SAMP_PROJECT.PROJ, SAMP_STAFF.NAME, SAMP_STAFF.JOB
        FROM SAMP_PROJECT, SAMP_STAFF
        WHERE SAMP_STAFF.NAME = SAMP_PROJECT.NAME
      
      或者,也可以指定如下內連接:
      
       SELECT SAMP_PROJECT.NAME,
          SAMP_PROJECT.PROJ, SAMP_STAFF.NAME, SAMP_STAFF.JOB
        FROM SAMP_PROJECT INNER JOIN SAMP_STAFF
         ON SAMP_STAFF.NAME = SAMP_PROJECT.NAME
      
      結果是:
      
       sql入門:連接(圖四)
      
      注意:該內連接的結果由右表和左表中姓名列的值匹配的行組成- 'Haas' 和 'Thompson' 都包括在列出所有全職雇員的 SAMP_STAFF 表中以及列出分配給某個項目的專職和合同雇員的 SAMP_PROJECT 表中。
      
      外連接是內連接和左表和/或右表中未包括內連接中的那些行的并置。當對兩個表執行外連接時,可任意將一個表指定為左表而將另一個表指定為右表。外連接有三種類型:
      
      
      左外連接包括內連接和左表中未包括在內連接中的那些行。
      
      右外連接包括內連接和右表中未包括在內連接中的那些行。
      
      全外連接包括內連接以及左表和右表中未包括在內連接中的行。
      使用 SELECT 語句來指定要顯示的列。在 FROM 子句中,列出后跟關鍵字 LEFT OUTER JOIN、RIGHT OUTER JOIN 或 FULL OUTER JOIN 的第一個表的名稱。接著需要指定后跟 ON 關鍵字的第二個表。在 ON 關鍵字后面,指定表示要連接的表之間關系的連接條件。
      
      在下列示例中,將 SAMP_STAFF 指定為右表,而 SAMP_PROJECT 則被指定為左表。通過使用 LEFT OUTER JOIN,列出所有全職和合同雇員(在 SAMP_PROJECT 中列出)的姓名和項目編號,如果是全職雇員(在 SAMP_STAFF 中列出),還列出這些雇員的職位:
      
       SELECT SAMP_PROJECT.NAME, SAMP_PROJECT.PROJ,
          SAMP_STAFF.NAME, SAMP_STAFF.JOB
        FROM SAMP_PROJECT LEFT OUTER JOIN SAMP_STAFF
         ON SAMP_STAFF.NAME = SAMP_PROJECT.NAME
      
      此語句產生下列結果:
      
       sql入門:連接(圖五)
      
      所有列中都具有值的那些行是該內連接的結果。這些都是滿足連接條件的行: 'Haas' 和 'Thompson' 既在 SAMP_PROJECT(左表)中列出又在 SAMP_STAFF(右表)中列出。對于不滿足連接條件的行,右表的列上出現空值: 'Lutz' 和 'Walker' 都是在 SAMP_PROJECT 表中列出的合同雇員,因而未在 SAMP_STAFF 表中列出。注意:左表中的所有行都包括在結果集中。
      
      在下一個示例中,將 SAMP_STAFF 指定為右表而 SAMP_PROJECT 則被指定為左表。通過使用 RIGHT OUTER JOIN 列出所有專職雇員(在 SAMP_STAFF 中列出)的姓名和工作職位,如果將這些雇員分配給了某個項目(在 SAMP_PROJECT 中列出),還列出他們的項目編號:
      
       SELECT SAMP_PROJECT.NAME,
          SAMP_PROJECT.PROJ, SAMP_STAFF.NAME, SAMP_STAFF.JOB
        FROM SAMP_PROJECT RIGHT OUTER JOIN SAMP_STAFF
         ON SAMP_STAFF.NAME = SAMP_PROJECT.NAME
      
      結果為:
      
       sql入門:連接(圖六)
      
      象在左外連接中一樣,所有列中都具有值的那些行是內連接的結果。這些都是滿足連接條件的行: 'Haas'和'Thompson'既在 SAMP_PROJECT(左表)中列出又在 SAMP_STAFF(右表)中列出。對于不滿足連接條件的行,右表的列上出現空值: 'Lucchessi'和'Nicholls'都是未分配項目的專職雇員。雖然他們在 SAMP_STAFF 中列出,但未在 SAMP_PROJECT 中列出。注意:右表中的所有行都包括在結果集中。
      
      下一個示例對 SAMP_PROJECT 表和 SAMP_STAFF 表使用 FULL OUTER JOIN。該示例列出所有專職雇員(包括未分配項目的雇員)和合同雇員的姓名:
      
       SELECT SAMP_PROJECT.NAME, SAMP_PROJECT.PROJ,
          SAMP_STAFF.NAME, SAMP_STAFF.JOB
        FROM SAMP_PROJECT FULL OUTER JOIN SAMP_STAFF
         ON SAMP_STAFF.NAME = SAMP_PROJECT.NAME
      
      結果為:
      
      sql入門:連接(圖七)
      
      此結果包括左外連接、右外連接以及內連接。列出所有專職雇員和合同雇員。正如左外連接和右外連接一樣,對于不滿足連接條件的值,相應列中出現空值。 SAMP_STAFF 和 SAMP_PROJECT 中的每一行都包括在結果集中。

    SQL語句實例:
    (1) 右連接

         select * from ry_jbxx, ry_rxzp where ry_jbxx.gmsfhm(+) = ry_rxzp.gmsfhm

         等價

         select * from ry_jbxx right OUTER JOIN ry_rxzp on ry_jbxx.gmsfhm = ry_rxzp.gmsfhm

    (2) 左連接

          select * from ry_jbxx, ry_rxzp where ry_jbxx.gmsfhm = ry_rxzp.gmsfhm(+)

          等價

         select * from ry_jbxx LEFT OUTER JOIN ry_rxzp on ry_jbxx.gmsfhm = ry_rxzp.gmsfhm

    posted @ 2012-06-29 13:44 chen11-1 閱讀(4841) | 評論 (0)編輯 收藏

    使用DOM解析XML文檔

    由于學習ajax要使用到xml,因此對xml文檔的解析工作就變得相當的重要。可是我對xml文檔中出現的各種術語很是模糊,今天花點時間整理一下這些概念。

        PS:概念待整理

        解析步驟:DOM(Document Object Model)--文檔對象模型
        1、創建解析的XML文檔文件對象
        2、聲明一個DocumentBuilder對象,由于這個對象是一個抽象類,不能直接實例化,可以用過DocumentBuilderFactory對象來構建。
        3、聲明一個DocumentBuilderFactory對象,通過單例模式創建
        4、取得DocumentBuilder實例
        5、通過DocumentBuilder對象的prase(File file)方法tb解析XML文檔
        6、取得文檔的根元素,通過調用Document的getDocumentElement()方法取得
        7、取得根元素后就可以通過遞歸遍歷元素中的子元素,然后通過條件判斷輸出相對應的信息。

    posted @ 2012-06-28 13:25 chen11-1 閱讀(853) | 評論 (0)編輯 收藏

    僅列出標題
    共20頁: First 上一頁 12 13 14 15 16 17 18 19 20 下一頁 
    主站蜘蛛池模板: 久久一区二区三区免费播放| 国产成人无码免费网站| 久久精品国产免费观看| 亚洲Av无码精品色午夜| 一区二区三区精品高清视频免费在线播放| 人妻视频一区二区三区免费| 亚洲天堂2017无码中文| 久久WWW色情成人免费观看| 国产成人精品日本亚洲专区6| 51在线视频免费观看视频| 综合自拍亚洲综合图不卡区| 一级毛片免费不卡在线| 亚洲精品在线免费观看| 色影音免费色资源| 亚洲欧美综合精品成人导航| 永久免费av无码网站大全| 无套内谢孕妇毛片免费看看| 久久亚洲国产成人精品无码区| 青青操免费在线观看| 亚洲精品中文字幕麻豆| 成人午夜视频免费| 成年网站免费入口在线观看| 亚洲国产精品国自产拍AV| 91九色老熟女免费资源站| 亚洲中文字幕一区精品自拍| 国产精品成人免费综合| 国产精品偷伦视频观看免费| 亚洲精品91在线| 国产高清免费的视频| 精品熟女少妇aⅴ免费久久| 久久久久亚洲精品无码蜜桃| 在线观看人成网站深夜免费| 亚洲免费日韩无码系列| 亚洲影视一区二区| 亚洲第一永久AV网站久久精品男人的天堂AV| 人妻18毛片a级毛片免费看| 亚洲视频免费在线观看| 国产网站免费观看| 无码囯产精品一区二区免费| 亚洲妇女无套内射精| 久久久久亚洲精品无码系列|