如何使用postgresql中的存储过程将数据插入到表中

前端之家收集整理的这篇文章主要介绍了如何使用postgresql中的存储过程将数据插入到表中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CREATE TABLE app_for_leave
(
  sno integer NOT NULL,eid integer,ename varchar(20),sd date,ed date,sid integer,status boolean DEFAULT false,CONSTRAINT pk_snoa PRIMARY KEY (sno)
)
;

基本插入是::

INSERT INTO app_for_leave(sno,eid,sd,ed,sid,status)
 VALUES(1,101,'2013-04-04',2,'f' );


INSERT INTO app_for_leave(sno,status)VALUES(?,?,?);

我的要求::如何使用存储过程将数据插入到表中?

Postgresql doesn’t support stored procedures本身,但您可以使用功能获得相同的结果.例如:
CREATE FUNCTION MyInsert(_sno integer,_eid integer,_sd date,_ed date,_sid integer,_status boolean)
  RETURNS void AS
  $BODY$
      BEGIN
        INSERT INTO app_for_leave(sno,status)
        VALUES(_sno,_eid,_sd,_ed,_sid,_status);
      END;
  $BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

你可以这样调用它:

select * from MyInsert(1,'f' );

与真实存储过程相比,Pg存储函数的主要限制是:

>无法返回多个结果集
>不支持自主交易(BEGIN,COMMIT和ROLLBACK在一个函数内)
>不支持sql标准CALL语法,尽管ODBC和JDBC驱动程序将为您翻译调用.

Example

原文链接:/postgresql/191659.html

猜你在找的Postgre SQL相关文章