Gente ,Nicolas
Gracias Nicolas , tenias la solucion , quedo asi.
DECLARE
r record ; /* no lo uso pero es para el into del cursor
*/
valor text;
cn cursor for SELECT * from nacionalidades where id_nacionalidad = cod
;
BEGIN
OPEN cn;
FETCH cn INTO r ;
IF NOT FOUN
Juan escribió:
> el problema es con el not FOUND, no se si entendi mal, pero me da falso,
> pero tengo una row con esa clave,
> preg: luego de un open del cursor se afecta a la variable FOUND
No, debes recorrerlo primero. De todas formas tu código propuesto no
funcionará bien: si dos sesion
Juan, me parece que estas usando mal el fetch.
.
DECLARE
valor text;
cn cursor for SELECT id_nacionalidad from nacionalidades where
id_nacionalidad = cod ;
BEGIN
OPEN cn;
FETCH cn INTO valor;
IF NOT FOUND THEN
.
Saludos,
Nico.
El 14 de noviembre de 2012 15:42, Juan escribió:
>
Gente
Nicolas, le puse el fetch pero no compila!!!
aca esta la funcion con el comentario donde no compila
CREATE OR REPLACE FUNCTION update_or_insert_nacionalidades(cod text, nombre
text)
RETURNS void AS
$BODY$
declare cn cursor for SELECT * from nacionalidades where id_nacionalidad
= cod
Puede ser que lo que te falte sea hacer un FETCH luego del Open?
Saludos,
Nico.
El 14 de noviembre de 2012 13:58, Juan escribió:
> Gente
>
>
> Tengo un problema con un cursor, y tambien una duda
> en el sig porcion de codigo , cod y nombre son text y son los parametros
> de una funcion
>
> ..
>
Gente
Tengo un problema con un cursor, y tambien una duda
en el sig porcion de codigo , cod y nombre son text y son los parametros de
una funcion
..
declare c_nacionalidad refcursor ;
begin
OPEN c_nacionalidad FOR execute 'SELECT * from nacionalidades where
id_nacionalidad = ' || quote_li