這是函數:如何執行使用NHibernate返回sys_refcursor的Oracle函數?
FUNCTION GET_ALL(P_USER_ID IN VARCHAR2) RETURN SYS_REFCURSOR IS
C SYS_REFCURSOR;
BEGIN
OPEN C
FOR 'SELECT * FROM XYZ WHERE USER_ID = :P_USER_ID'
USING P_USER_ID;
RETURN C;
END;
我想打電話給使用NHibernate此功能,像這樣:
Session
.CreateSQLQuery("BEGIN ? = PKG.GET_ALL(:P_USER_ID); END;")
.SetString("P_USER_ID", "SOMEONE")
.List<XYZ>();
任何代碼,提示或冒煙的跡象是值得歡迎的。
PS:我使用NHibernate的3.3.0.GA
可能的重複:http://stackoverflow.com/a/4237147/232279和http://stackoverflow.com/questions/5901638/nhibernate-call-function-in-oracle-which-returns-sys-refcursor?rq = 1 – ThinkJet