pgsql/core_enum_seqmax_update.sql
authorEdward <edward@roojs.com>
Tue, 14 Jan 2014 05:44:49 +0000 (13:44 +0800)
committerEdward <edward@roojs.com>
Tue, 14 Jan 2014 05:44:49 +0000 (13:44 +0800)
pgsql/core_enum_seqmax_update.sql

index e69de29..90f4631 100644 (file)
@@ -0,0 +1,24 @@
+
+DROP FUNCTION IF EXISTS core_enum_seqmax_update;
+
+CREATE OR REPLACE FUNCTION core_enum_seqmax_update(in_etype varchar(128))
+  RETURNS INTEGER AS
+$BODY$
+DECLARE
+    v_seqmax INTEGER;
+     
+BEGIN
+    SELECT MAX(seqid) +1 INTO v_seqmax FROM core_enum WHERE
+            etype = in_etype;
+    UPDATE core_enum SET seqmax = v_seqmax WHERE etype = in_etype;
+    RETURN v_seqmax;
+END;
+$BODY$
+  LANGUAGE plpgsql VOLATILE
+  COST 100;
+  
+ALTER FUNCTION core_enum_seqmax_update(varchar)
+  OWNER TO admin;
\ No newline at end of file