|
|
楼上的哥们,请问是不是在function中打开的cursor一定要在end之前close呢?
CREATE OR REPLACE PACKAGE NativeDynamic AS
TYPE t_RefCur IS REF CURSOR;
FUNCTION StudentsQuery(p_WhereClause IN VARCHAR2)
RETURN t_RefCur;
END NativeDynamic;
/
CREATE OR REPLACE PACKAGE BODY NativeDynamic AS
FUNCTION StudentsQuery(p_WhereClause IN VARCHAR2)
RETURN t_RefCur IS
v_ReturnCursor t_RefCur;
v_SQLStatement VARCHAR2(500);
BEGIN
-- Build the query using the supplied WHERE clause
v_SQLStatement := 'SELECT * FROM students ' || p_WhereClause;
-- Open the cursor variable, and return it.
OPEN v_ReturnCursor FOR v_SQLStatement;
RETURN v_ReturnCursor;
---这里没有close v_ReturnCursor;
END StudentsQuery;
END NativeDynamic;
以上的function对不对呢? |
|