【发布时间】:2018-06-14 16:42:08
【问题描述】:
有没有办法传递到一个被调用以提供默认值的 PL 函数,以及如何使用它以及插入的其余值?
CREATE TABLE tokensStore (
id SERIAL PRIMARY KEY,
users INTEGER REFERENCES users(id),
genDate timestamp with time zone NOT NULL DEFAULT now(),
expDate timestamp with time zone NOT NULL DEFAULT now() + interval '24 hours',
token char(30) NOT NULL DEFAULT tokenGenerator(%%%INSERTED VALUES%%%)
);
而且我不确定这是一种正确的方法,我不知道我是否应该允许 NULL 值并创建一个触发器来生成令牌的值。
问题是我不想在该列中允许空值。 而且我还想用返回值令牌制作插入,例如
INSERT tokensStore(user) VALUES (1) RETURNING token;
如果有人对此有很好的参考,将不胜感激。
【问题讨论】:
-
看来你需要一个触发器。为什么你认为它应该在 plpython 中(而不是在 plpgsql 中)?有关系吗?
-
我正在使用 Python 编写的加密函数生成令牌,这就是我使用 Python 的原因
标签: database postgresql stored-procedures triggers plpython