- CREATEorReplaceFUNCTIONfunc_getnextid( @H_502_7@tablenamevarchar(240),
- idnamevarchar(20)default'id') @H_502_7@RETURNSintegerAS$funcbody$
- Declare @H_502_7@sqlstringvarchar(240);
- currentIdinteger; @H_502_7@Begin
- sqlstring:='selectmax("'||idname||'")from"'||tablename||'";'; @H_502_7@EXECUTEsqlstringintocurrentId;
- ifcurrentIdisNULLorcurrentId=0then @H_502_7@return1;
- else @H_502_7@returncurrentId+1;
- endif; @H_502_7@End;
- $funcbody$LANGUAGEplpgsql;
-
CREATE OR REPLACE FUNCTION test_get_sql(IN sql character varying,OUT io_cursor_ref refcursor)
RETURNS record AS
$BODY$
DECLARE
BEGIN
OPEN IO_CURSOR_REF FOR
execute sql;RETURN; END; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION test_get_sql(character varying)