<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Matthew Wakeling wrote:
<blockquote
cite="mid:alpine(dot)DEB(dot)2(dot)00(dot)0904071630420(dot)791(at)aragorn(dot)flymine(dot)org"
type="cite">On Tue, 7 Apr 2009, justin wrote:
<br>
<blockquote type="cite">
<blockquote type="cite">What would be the syntax for putting a
single row from a cursor into a variable? I have tried:
<br>
<br>
FETCH INTO left left_cursor;
<br>
<br>
which says syntax error, and
<br>
<br>
left = FETCH left_cursor;
<br>
<br>
which gives the error 'ERROR: missing datatype declaration at or near
"="'
<br>
</blockquote>
<br>
Have to declare Left variable as record data type declaration part of
the function
<br>
</blockquote>
<br>
It is.
<br>
<br>
CREATE OR REPLACE FUNCTION overlap_gene_primer() RETURNS SETOF RECORD
AS $$
<br>
DECLARE
<br>
left location;
<br>
retval RECORD;
<br>
BEGIN
<br>
DECLARE left_cursor NO SCROLL CURSOR FOR SELECT location FROM
location, gene WHERE location.id = gene.id ORDER BY objectid, start,
end;
<br>
left = FETCH left_cursor;
<br>
END;
<br>
$$ LANGUAGE plpgsql;
<br>
<br>
Matthew
<br>
</blockquote>
<br>
Change the type to Record<br>
from the help file<br>
<code class="command">FETCH</code> retrieves the next row from the
cursor into a target, which might be a <b>row variable, a record
variable, or a comma-separated </b>list of simple variables, just like
<code class="command">SELECT INTO</code>. If there is no next row, the
target is set to NULL(s). As with <code class="command">SELECT INTO</code>,
the special variable <code class="literal">FOUND</code> can be checked
to see whether a row was obtained or not<br>
<br>
</body>
</html>