gpt4 book ai didi

postgresql - 将laSTLogin保存在表中

转载 作者:行者123 更新时间:2023-11-29 13:42:29 24 4
gpt4 key购买 nike

我的数据库中有下表,代码如下:

CREATE TABLE public.users(

owner character varying(32) COLLATE pg_catalog."default" NOT NULL,
password character varying(16) COLLATE pg_catalog."default" NOT NULL,
createdate timestamp without time zone NOT NULL DEFAULT CURRENT_TIMESTAMP,
lastlogin timestamp without time zone,
CONSTRAINT users_pkey PRIMARY KEY (owner) );

下面的问题是,是否可以编写一个函数/存储过程,该函数/存储过程使用所有者的最后一次登录自动保存和更新此表上的last login值?

最佳答案

PostgreSQLdoesn'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, eid, sd, ed, sid, status)
VALUES(_sno, _eid, _sd, _ed, _sid, _status);
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;

你可以这样称呼它:
select * from MyInsert(1,101,'2013-04-04','2013-04-04',2,'f' );

与真正的存储过程相比,Pg存储函数的主要限制是:
无法返回多个结果集
不支持自主事务(在函数中开始、提交和回滚)
不支持SQL标准调用语法,尽管ODBC和JDBC驱动程序将为您翻译调用。
Example

关于postgresql - 将laSTLogin保存在表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53281244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com