Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: execute immediate and cursor- example
Mariusz:
See this below. It works. You cannot submit the string 'open cursor' as part of a dynamix SQL statement.... it is, rather, a PL/SQL statement.
create or replace function funkcja (pName in varchar2,psome_table in
varchar2) return integer is
Result integer;
TYPE EmpName IS RECORD (name VARCHAR2(100));
TYPE cur_type IS REF CURSOR RETURN EmpName;
curs cur_type;
TableRowsCursor INTEGER := DBMS_SQL.OPEN_CURSOR;
TableRowsValue CHAR(100) := NULL;
begin
DBMS_SQL.PARSE(TableRowsCursor, 'SELECT '||pname||' FROM'||psome_table,
DBMS_SQL.NATIVE);
DBMS_SQL.DEFINE_COLUMN_CHAR(TableRowsCursor, 1, TableRowsValue,100);
TableRowsValue := DBMS_SQL.EXECUTE_AND_FETCH(TableRowsCursor);
DBMS_SQL.COLUMN_VALUE(TableRowsCursor, 1, TableRowsValue); DBMS_SQL.CLOSE_CURSOR(TableRowsCursor); DBMS_OUTPUT.PUT_LINE(TableRowsValue);return(0);
"mariusz" <on_at_wp.pl> wrote in message news:ahjbfk$7o8$1_at_news.tpi.pl...
> create or replace function funkcja (pName in varchar2,psome_table in
> varchar2) return integer is
> Result integer;
> TYPE EmpName IS RECORD (name VARCHAR2(100));
> TYPE cur_type IS REF CURSOR RETURN EmpName;
> curs cur_type;
> begin
> execute immediate 'OPEN curs for SELECT '||pname||'
FROM'||psome_table;--
> this is Error!!!
> return(0);
> end funkcja;
> -- I want to write sql statement like this 'select sth,'||psth||'from
> '||ptable_name but in cursor!!!
> How can I do that?
>
>
>
Received on Tue Jul 23 2002 - 08:03:24 CDT