 |
|
 |
Cursores Implicitos
Declaración de cursores implicitos.
Los cursores implicitos se utilizan para realizar consultas SELECT que devuelven un único registro.
Deben tenerse en cuenta los siguientes puntos cuando se utilizan cursores implicitos:
- Con cada cursor implicito debe existir la palabra clave INTO.
- Las variables que reciben los datos devueltos por el cursor tienen que contener el mismo tipo de dato que las columnas de la tabla.
- Los cursores implicitos solo pueden devolver una única fila. En caso de que se devuelva más de una fila (o ninguna fila) se producirá una excepcion. No se preocupe si aún no sabe que es una excepcion, le valdrá conocer que es el medio por el que PL/SQL gestiona los errores.
El siguiente ejemplo muestra un cursor implicito:
declare
vdescripcion VARCHAR2(50); begin SELECT DESCRIPCION INTO vdescripcion from PAISES WHERE CO_PAIS = 'ESP'; dbms_output.put_line('La lectura del cursor es: ' || vdescripcion);
end;
|
La salida del programa generaría la siguiente línea:
La lectura del cursor es: ESPAÑA
|
Excepciones asociadas a los cursores implicitos.
Los cursores implicitos sólo pueden devolver una fila, por lo que pueden producirse determinadas excepciones. Las más comunes que se pueden encontrar son no_data_found y too_many_rows. La siguiente tabla explica brevemente estas excepciones.
|
Excepcion |
Explicacion |
| NO_DATA_FOUND |
Se produce cuando una sentencia SELECT intenta recuperar datos pero ninguna fila satisface sus condiciones. Es decir, cuando "no hay datos" |
| TOO_MANY_ROWS |
Dado que cada cursor implicito sólo es capaz de recuperar una fila , esta excepcion detecta la existencia de más de una fila. | |
| |
 |
Que grande eres macho!
por
Kike
Respuesta recibida el [06/03/2008 12:23:17]
|
 |
Muchas gracias sr Pedro. Me sirve de gran ayuda todo esto de verdad, gracias.
|
| |
 |
gracias
por
Rod
Respuesta recibida el [17/04/2008 09:25:59]
|
 |
para no saber nada de pl me ha quedado claro, y de hecho hice una funcion y resulta jajaja , gracias!!
|
| |
 |
Duda
por
Juan Pedro
Respuesta recibida el [22/04/2008 04:17:28]
|
 |
El cursor impliciso solo se puede usar para obtener unqa dato o se puede usar para obtener una row con varios item o uno. Si es la segunda occion como obtendrias el valor Dato(0),dato(1).
|
| |
 |
error NO_DATA_FOUND
por
ROBERTO
Respuesta recibida el [24/04/2008 12:33:01]
|
 |
al ejecutar: FETCH cNIVEL_01 INTO rPump_Readings_Header; se produce el error NO_DATA_FOUND, porq no ha traido ningún registro, ¿cómo puedo desactivar ese error? para continuar con las siguientes lecturas...
|
| |
 |
Está guay el tutorial, así da ...
por
JL
Respuesta recibida el [06/05/2008 05:04:29]
|
 |
Está guay el tutorial, así da gusto aprender
|
| |
 |
Liberar Cursor
por
Adrian Lozano
Respuesta recibida el [22/05/2008 02:09:32]
|
 |
Alguna manera para liberar un cursor implicito?
Ya que despues de utilizar el cursor requiero hacer un update en el registro donde estaba posicionado ese cursor y se cuelga la aplicacion.. =(
|
| |
 |
Problema con fechas
por
Abraham
Respuesta recibida el [15/09/2008 01:40:05]
|
 |
Como se declaran las fechas cuando son parametros de entrada o salida en un procedimiento, gracias.
|
| |
 |
BORRAR CON UN SELECT MULTIPLE
por
Y.M.
Respuesta recibida el [27/09/2008 11:00:00]
|
 |
tengo un problema agradeceria la ayuda de algun de ustedes compañeros
tengo el siguiente select:
SELECT A.UBICACION FROM COPIA_IF41 A, GSPR B WHERE A.CODCIA = NVL(:I_CODCIA,A.CODCIA) AND A.CODIGO_SUCURSAL = B.CODIGO_SUCURSAL AND A.CODIGO_SUCURSAL = NVL(:I_SUCURSAL,A.CODIGO_SUCURSAL) --AND B.USUARIO = USER MINUS SELECT LOCAL UBICACION FROM COPIA_IF74 WHERE CODBOD = NVL(:I_CODBOD,CODBOD) ORDER BY UBICACION
y desearia borrar los registros que trae este select. ya verifique el select y me trae los registros que deseo borrar, solo me falta la parte de borrarlos help me!!!
|
| |
 |
repuesta para y.m
por
macu
Respuesta recibida el [16/10/2008 03:48:48]
|
 |
hola para borrar solo tienes que utilizar drop table y el nombre de la tabla; ahora si solo quieres borrar una fila o colunma utiliza el delete no es dificil
|
| |
 |
CURSORES
por
SIDER
Respuesta recibida el [25/11/2008 11:10:32]
|
 |
Los cursores se pueden utilizar en los procedimientos o solo se pueden utilizar en funciones ademas ¿en un procedimiento se puede hacer un insert en una tabla ho no? grasias de antemano
|
| Añadir comentario ... |
Para preguntar utiliza los foros
|
|

|
Cursores Implicitos en PL/SQL |
|
Autor:
Pedro Herrarte Sánchez
|
|
Visitas:
63516 |
Fecha de publicación:
24/05/2006 |
Pedro Herrarte, es consultor independiente, ofreciendo servicios de consultoría, análisis, desarrollo y formación.
Posee mas de diez años de experiencia trabajando para las principales empresas de España.
Es especialista en tecnologías .NET, entornos Web, bases de datos (SQL Server y ORACLE) e integración de sistemas.
Es experto en desarrollo (C#, ASP.NET, VB.Net, T-SQL, PL/SQL, , ASP, CGI , C, Pro*C, Java, Essbase, Vignette, PowerBuilder y Visual Basic ...) y bases de datos (SQL Server y ORACLE).
Es fundador, diseñador y programador de www.devjoker.com. |
|
|
Visitas:
35
|
Comentarios:
0
|
Archivo:
Articulos
|
|
Visitas:
108
|
Comentarios:
0
|
Archivo:
Articulos
|
Visitas:
155
|
Comentarios:
0
|
Archivo:
Articulos
|
Visitas:
33
|
Comentarios:
0
|
Archivo:
Articulos
|
Visitas:
285
|
Comentarios:
1
|
Archivo:
Articulos
|
Visitas:
839
|
Comentarios:
2
|
Archivo:
Articulos
|
Visitas:
712
|
Comentarios:
1
|
Archivo:
Articulos
|
Visitas:
447
|
Comentarios:
0
|
Archivo:
Articulos
|
Visitas:
1052
|
Comentarios:
1
|
Archivo:
Articulos
|
Visitas:
250
|
Comentarios:
0
|
Archivo:
Articulos
|
|
|
|
 |
| Encuesta |
|
¿A que perfil te adaptas mejor? |
|
|
|
|
|
|
|
|
 |