2009-08-28 30 views

回答

0

rowid可以在SELECT,INSERT,UPDATE和DELETE中使用。

SELECT * 
FROM mytable 
WHERE rowid = :rowid 

ROWID是一個預言的關鍵字可以直接訪問一個數據行。要通過rowid訪問數據行,不需要索引查找。

使用OracleDbType.RowID定義參數的類型:rowid。

+0

Christian, 感謝您的回答,但我如何使用它時,我插入一個新行表?ExeceuteNonQuery接受rowid作爲參數,我應該運行這個查詢來獲取rowid,然後將其用作參數?是所有? – Alexander 2009-08-28 08:46:49

+0

在oracle上有INSERT INTO ... RETURNING rowid INTO:rowid。您可以返回任何列值,以便稍後更新或進行更新。 – Christian13467 2009-08-28 09:46:04

0

也許如果你發佈了你正在使用的查詢,它會更清楚你試圖實現什麼?

Oracle的ROWID identifes排在表(但不是唯一的數據庫內)。通過使用ExecuteOracleNonQuery,如果它返回ROWID隻影響一行,但我不確定您打算如何處理「隨後的相關查詢」。

+0

Forexample我有插入發票記錄table.When用戶想要100張的發票,在我看來ROWID可以提高performance.MSDN說,得到的rowid可以唯一識別在Oracle數據庫,能夠連續的過程允許你提高性能。但是沒有關於如何去做的例子。 http://msdn.microsoft.com/en-us/library/system.data.oracleclient.oraclecommand.executeoraclenonquery.aspx – Alexander 2009-08-28 07:38:53