| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Dynamic PL/SQL. Retrieving Value
I have written the following PL/SQL function:
CREATE OR REPLACE
FUNCTION get_sequenceid(p_sequence_name IN VARCHAR2,
p_debug_on IN BOOLEAN := FALSE)
RETURN PLS_INTEGER
v_sequence_name VARCHAR2(30);
v_sequenceid NUMBER;
v_module_name VARCHAR2(30) := 'UNKNOWN';
v_module_type VARCHAR2(12) := 'UNKNOWN';
cur_select PLS_INTEGER := DBMS_SQL.OPEN_CURSOR;
v_select_string VARCHAR2(500);
w PLS_INTEGER;
BEGIN
IF p_debug_on
THEN
DBMS_OUTPUT.ENABLE;
ELSE
DBMS_OUTPUT.DISABLE;
END IF;
v_module_name := 'GET_SEQUENCEID';
v_module_type := 'FUNCTION';
DBMS_OUTPUT.PUT_LINE('IN '|| v_module_type || ' ' || v_module_name =
);
v_sequence_name := p_sequence_name;
v_select_string := 'SELECT ' || v_sequence_name || '.NEXTVAL' ||
' INTO :v_sequenceid' ||
' FROM DUAL';
DBMS_SQL.PARSE(cur_select,v_select_string, DBMS_SQL.NATIVE);
DBMS_SQL.BIND_VARIABLE(cur_select,'v_sequenceid',v_sequence_name);
w := DBMS_SQL.EXECUTE(cur_select);
DBMS_SQL.CLOSE_CURSOR(cur_select);
RETURN v_sequenceid;
EXCEPTION
WHEN OTHERS
THEN
DBMS_SQL.CLOSE_CURSOR(cur_select);
DBMS_OUTPUT.ENABLE;
DBMS_OUTPUT.PUT_LINE('An unknown error occurred. Please contact =
Technical Support');
RETURN NULL;
*
What I am trying to do is to return the sequence id to the calling = program. I am assuming that there is a coding bug. Received on Mon Oct 11 1999 - 09:00:51 CDT
![]() |
![]() |