Rollback fuera de un procedimiento

Hola. Tengo la siguiente duda
si corro un procedimiento desde sql plus y este procedimiento hace un update, y dentro de este procedimiento no tengo un commit y tampoco un rollback ¿puedo hacer el commit y o rollback despues de que corra el procedimiento ose por fuera?3
ejemplo
sql > exec actualizar_iva
sql> rollback; (o commit si corresponde)
conosco de corren un script (@actualizar_iva) y hacer un rollback y listo pero no se si se aplica tambian a un procedimiento
gracias por la respuesta
1

1 respuesta

Respuesta
1
Puedes hacerlo sin problemas.
Esta es una práctica utilizada para confirmar, o no, la actualización de la información luego de validar visualmente el resultado del proceso, o realizando un par de select para confirmar los datos (siempre que se trate de la misma sesión, como es en tu caso).
Cualquier cosa me avisas.
http://www.laeradelainformacion.com
Perfecto amigo, me quedo claro.
Ahora tengo esta otra duda, tengo un scritp que es el siguiente
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">SET SERVEROUTPUT ON</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">accept opcion prompt 'INGRESE NRO:<span style="mso-spacerun: yes;">  [/size]'</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">DECLARE</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">opc number:=&opcion;[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">v_username v$session.username%TYPE; </span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB"> [/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">BEGIN </span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">if(opc=1) then[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">select username into v_username from v$session</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">where username like'%preadmi';[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">elsif opc=2 then </span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">select username into v_username from v$session[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">where username like'%preusu';</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">END IF;[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial]END;[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; font-family: Arial]/[/size]
este no devuelve resultados por que uso un select into, el tema es que desconosco como hacer que un select tradicional muestre el resultado usando un if then end if. Se que se usan cursores y de hecho utilice uno para otro scritp, pero para alguna personas resulta dificil de acostumbrarse a la presentacion como esta:
'---------USUARIOS LOGEADOS CON ADMI--------- '
username   : ADMI
osuser     : jai
logon_time : 21-JAN-09
----------------------------------------
----------------------------------------
username   : ADMI
osuser     : gline
logon_time : 21-JAN-09
----------------------------------------
----------------------------------------
¿conoces alguna manera de que un select tradicional puedas usarse dentro de un begin if the etc? ¿o formatear un cursor? para que se muestre asi
USERNAME                       OSUSER                         LOGON_TIM
------------------------------ ------------------------------ ---------
ADMI                           DER                  22-JAN-09
ADMI                           traf                    21-JAN-09
cuando uso asi el scritp :
[size= 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">BEGIN </span>
<span style="font-size: 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">if(opc=1) then</span>
<span style="font-size: 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">select username from v$session</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">where username like'%preadmi';[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">elsif opc=2 then </span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">select username username from v$session[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">where username like'%preusu';</span>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt]<span style="font-size: 10pt; color: black; font-family: Arial; mso-ansi-language: EN-GB;" lang="EN-GB">END IF;[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; color: black; font-family: Arial]END;[/size]
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;">[size= 10pt; color: black; font-family: Arial]/[/size]
me pide que use into
Espero que puedas ayudarme, gracias que tengas buen dia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas