0
我想輸出一個額外的變量,這不是我的表,可以有人解釋如何做到這一點,或者爲什麼這是不可能的?怎麼傳出來的與表附加值ref_cursor
即 -
OPEN V_CURSOR FOR SELECT ee.EmployeeID, v_overtime_worked FROM EMPLOYEE_RECORDS ee;
我想輸出一個額外的變量,這不是我的表,可以有人解釋如何做到這一點,或者爲什麼這是不可能的?怎麼傳出來的與表附加值ref_cursor
即 -
OPEN V_CURSOR FOR SELECT ee.EmployeeID, v_overtime_worked FROM EMPLOYEE_RECORDS ee;
所以基本上你想在光標移動到存儲,從表中,並v_overtime_worked另一個變量,無關與表中的數據?
您收到了什麼錯誤?
我肯定知道的是,這是工作......所以基本上你可以把另一個變量光標:
declare
c_Curs SYS_REFCURSOR;
v_overtime_worked VARCHAR2(120) := '1000';
v_book_title VARCHAR2(255) := '';
v_xxx VARCHAR2(120);
BEGIN
OPEN c_Curs FOR SELECT book_title, v_overtime_worked FROM books;
LOOP
FETCH c_Curs INTO v_book_title, v_xxx;
EXIT WHEN c_Curs%NOTFOUND OR c_Curs IS NULL;
DBMS_OUTPUT.PUT_LINE(v_book_title || v_xxx);
end loop;
close c_Curs;
END;
至於你的Java問題,我怕我不知道answer..and我需要做的研究:)
也許你需要的東西是這樣的:
@Override
public void execute(Connection con) throws SQLException {
CallableStatement call = con.prepareCall(ProcedureCalls.GET_ALL_BOOKS);
call.registerOutParameter(1, OracleTypes.CURSOR);
call.execute();
ResultSet rs = (ResultSet) call.getObject(1);
if(rs!=null){
while (rs.next()) {
Book b = new Book();
b.setBookId(rs.getLong("book_id"));
b.setBookTitle(rs.getString("title"));
b.setBookYear(rs.getInt("book_year"));
b.setBookAuthor(rs.getString("author"));
book_list.add(b);
}
if(rs!=null) rs.close();
if(call!= null) call.close();
}
}
昏暗,公司員工的DataTable =新裝getEmployees(OT).Tables(0) – 2013-04-04 12:50:37
對不起,我的問題其實與調用重新f_cursor,我把它加載到一個數據集中 'Dim Employees As DataTable = New GetEmployees.Tables(0)' 然後我檢查新變量,但是它聲稱它不是所選表格的一部分。 'Employees.DataSet.Tables(0).Rows(0).Item(「v_overtime_worked」)' – 2013-04-04 12:59:14
我不明白那是什麼代碼,你只是寫的,和最初的問題...編輯之間的關係:好了,現在我看到我在VB我的問題 – Teshte 2013-04-04 13:00:10