Pessoal

Minha função abaixo está me retornando o seguinte erro:

ERROR:  record "myrec" has no field "id"
CONTEXT:  PL/pgSQL function "whichrowslocked" line 10 at assignment

********** Erro **********

ERROR: record "myrec" has no field "id"
SQL state: 42703
Contexto: PL/pgSQL function "whichrowslocked" line 10 at assignment


Eu a utilizo passando a tabela e a coluna - select whichrowslocked(  
'a003.a003015_tbl, 'sql_recno' )

E me retorna o erro descrito acima, se puderem me dar uma luz agradeço.

Obrigado

Adilson Nunes



--------------------------------------------------------------------------------

-- Function: a003.whichrowslocked(text, text)

-- DROP FUNCTION a003.whichrowslocked(text, text);

CREATE OR REPLACE FUNCTION a003.whichrowslocked(text, text)
  RETURNS SETOF text AS
$BODY$
DECLARE
 sql_recno RECORD;
 myst TEXT;
 innermyst TEXT;
BEGIN
 myst = 'SELECT '||$2||' FROM '||$1;
 innermyst = 'SELECT '||$2||' AS id FROM '
 ||$1||' WHERE '||$2||'=';
 FOR sql_recno IN EXECUTE myst LOOP
 myst = innermyst||sql_recno.id||' FOR UPDATE NOWAIT';
 BEGIN
 EXECUTE myst;
 EXCEPTION WHEN lock_not_available THEN
 RETURN NEXT sql_recno.id;
 END;
 END LOOP;
 RETURN;
END;


$BODY$
  LANGUAGE 'plpgsql' VOLATILE STRICT
  COST 100
  ROWS 1000;
ALTER FUNCTION a003.whichrowslocked(text, text) OWNER TO adilson;

--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a