- CREATE or Replace FUNCTION func_getnextid(
- tablename varchar(240),
- idname varchar(20) default 'id')
- RETURNS integer AS $funcbody$
- Declare
- sqlstring varchar(240);
- currentId integer;
- Begin
- sqlstring:= 'select max("' || idname || '") from "' || tablename || '";';
- EXECUTE sqlstring into currentId;
- if currentId is NULL or currentId = 0 then
- return 1;
- else
- return currentId + 1;
- end if;
- End;
- $funcbody$ LANGUAGE plpgsql;
-
-
-
-
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)
Postgresql:动态sql的例子
最新推荐文章于 2025-05-26 16:38:55 发布