Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Can I have an explicit cusor like this?
C Chang wrote:
> Can I pass a variable for table name in an explicit cursor such as
> Cursor name_cur ( p_tablename IN VARCHAR2,
> p_col3 IN VARCHAR2)
> is
> SELECT col1, col2
> FROM p_tablename
> WHERE col3 = p_col3;
> Because I need to use this cursor for a FOR LOOP in BEGIN section of a
> procedure. Using implicit cursor probably too resource costly.
> Or it can not, is there a way to accomplish similar function?
> C chang
Not in the form you are trying to do it. Look up Native Dynamic SQL and the OPEN FOR statement.
Personally, in situations such as you describe I prefer an IF statement with a static cursor. But often the need for such dynamic SQL arises due to lack of relational integrity in the architecture. Identical queries from multiple tables makes me wonder why it isn't one table. And usually the answer is that it should be.
Daniel Morgan Received on Sun Jun 23 2002 - 23:44:04 CDT
![]() |
![]() |