Diferencias entre Cursores en Oracle

tema enviado por fg3040 en ORACLE
tema iniciado el 07/04/2009
Hola, Desarrollo en oracle y pues he hecho cursores como este cursor cur is select * from dual y tambien dinamicos como este DECLARE V_CURSOR NUMBER; V_QUERY_SUC VARCHAR2(1000); X NUMBER; V_COD_SUCURSAL SUCURSAL.COD_SUCURSAL%TYPE; V_NOM_SUCURSAL SUCURSAL.NOM_SUCURSAL%TYPE; BEGIN :GLOBAL.SUC_INVALIDAS := VAL_SUC_COMITES_CRED(:TIPO_COMITE.TIPO_COMITE,TO_CHAR(:COMITE_CRED.FEC_EFECTIVA,'DD/MM/YYYY'), TO_CHAR(:COMITE_CRED.FEC_VENCIMIENTO,'DD/MM/YYYY')); V_QUERY_SUC := 'SELECT NOM_SUCURSAL,COD_SUCURSAL FROM SUCURSAL WHERE COD_EMPRESA = '||''''||:GLOBAL.EMPRESA||''''||' AND COD_SUCURSAL NOT IN '||:GLOBAL.SUC_INVALIDAS||' AND COD_SUCURSAL = '||''''||:COMITE_SUCURSAL.COD_SUCURSAL||''''||' AND COD_SUCURSAL <> '||'''00'''; V_CURSOR := DBMS_SQL.OPEN_CURSOR; DBMS_SQL.PARSE(V_CURSOR,V_QUERY_SUC,1); DBMS_SQL.DEFINE_COLUMN(V_CURSOR,1,V_COD_SUCURSAL,20); DBMS_SQL.DEFINE_COLUMN(V_CURSOR,2,V_NOM_SUCURSAL,2); X := DBMS_SQL.EXECUTE(V_CURSOR); IF DBMS_SQL.FETCH_ROWS(V_CURSOR) = 0 then DBMS_SQL.CLOSE_CURSOR(V_CURSOR); MSGS('N','El codigo es invalido o no existe...Presione F9','SIAF-SAC',TRUE); END IF; DBMS_SQL.COLUMN_VALUE(V_CURSOR,1,V_NOM_SUCURSAL); DBMS_SQL.COLUMN_VALUE(V_CURSOR,2,V_COD_SUCURSAL); :COMITE_SUCURSAL.DESC_SUCURSAL := V_NOM_SUCURSAL; DBMS_SQL.CLOSE_CURSOR(V_CURSOR); :GLOBAL.SUC_INVALIDAS := NULL; END; MI PREGUNTA ES: AL MOMENTO DE USAR CUALQUIERA DE LAS DOS FORMAS DE CURSORES QUE MENCIONE ANTERIORMENTE Y SUPONIENDO QUE SE EJECUTA UNA MISMA CONSULTA, CUAL DE LOS DOS OFRECE MEJOR TIEMPO DE RESPUESTA?.