?
本文檔使用 PHP中文網手冊 發(fā)布
在Oracle快速進行數據行存在性檢查 ? 當在應用程序的業(yè)務邏輯中需要檢查一個外鍵是否有相關的主鍵時,往往使用Select Count(*)類型的SQL語句。這是一個很顯而易的方法,但卻不是最快的方法。Count(*)函數調用可能會引起對整個表的進行掃描,這是一件很費時的操作。一個更好的方法是使用Oracle提供的稱為ROWNUM的新特性,使用這個特性可以使數據庫只檢索一個啟示就可以判斷主鍵是否能與外鍵相配,這比Count(*)方法快得多,例如: SQL Using Count(*) SELECT Count(*) INTO :ll_Count ?? FROM ORDER ?? WHERE PROD_ID = :ls_CheckProd ?? USING SQLCA; IF ll_Count > 0 THEN // Cannot delete product SQL Using ROWNUM SELECT ORDER_ID INTO :ll_OrderID ?? FROM ORDER ?? WHERE PROD_ID = :ls_CheckProd ????? AND ROWNUM < 2 ?? USING SQLCA; IF SQLCA.SQLNRows <> 0 THEN // cannot delete product |