加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-13 16:31:18 所属栏目:百科 来源:网络整理
导读: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)
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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读