Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> need help with dynamic sql

need help with dynamic sql

From: <rgaffuri_at_cox.net>
Date: Tue, 11 Mar 2003 07:24:09 -0800
Message-ID: <F001.005660A5.20030311072409@fatcity.com>


g_colName is a string of column names that I build earlier in the algorithm. My problem is how do I do the 'INTO' part of this cursor, since I do not know how many or of what type my columns are. The query is on the fly and totally dynamic.

Anyway to do this without using DBMS_SQL package?

OPEN cur_values FOR 'SELECT '||g_colName ||
                            ' FROM ' || p_sourceSchema||'.'||v_tableName ||
                            ' WHERE PARENT_RESOURCE_ID BETWEEM :1 AND :2'

                          USING p_startResourceID, p_endResourceID;
                          LOOP
                            FETCH cur_values
                             INTO v_values;
                          EXIT WHEN cur_values%NOTFOUND;

                  EXECUTE IMMEDIATE 'INSERT INTO '||p_targetSchema||'.'||v_tableName||
                                    '('||g_colName||')'||
                                    '(VALUES)';

--

Please see the official ORACLE-L FAQ: http://www.orafaq.net
--

Author: <rgaffuri_at_cox.net
  INET: rgaffuri_at_cox.net

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing). Received on Tue Mar 11 2003 - 09:24:09 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US