postures中的uuid可能是空字符串

时间:2017-04-15 02:10:34

标签: node.js uuid postgresql-9.6

这里我创建一个空表和一个函数:

CREATE TABLE "ebook_info_t" (
    "ebook_id" uuid NOT NULL,
    ...
    PRIMARY KEY ("ebook_id")
);
CREATE OR REPLACE FUNCTION add_ebook_f(
    IN author text,
    OUT existid uuid, OUT isexist bool)
RETURNS SETOF RECORD AS $$
DECLARE
    rc uuid := NULL;
    bkname text :=NULL;
BEGIN
    SELECT ebook_id,title INTO rc,bkname FROM ebook_info_t WHERE author_name=author;
    RAISE EXCEPTION 'bookid=%, title=%',rc,bkname;
END
$$
LANGUAGE plpgsql;

我通过pg模块在nodejs中调用此函数,其版本为6.1.2 首先,表ebook_info_t为空。我调用函数add_ebook_f然后接收bookid=3d6171d3-3d45-4869-8e89-b8975a31246b, title=thebookname 其次,我删除WHERE-condition。然后我再打电话给它。我收到了bookid=bac22a64-9cb2-440a-be39-b40d74c2ddfb, title=<NULL> 最后,我在pgAdmin4中测试了这个函数。我显示ERROR: bookid=<NULL>, title=<NULL> 如果该书不存在,我想将其插入表中。但是如果我在nodejs中调用add_ebook_f,我无法判断这本书是否存在 所以我的问题是,如果它不存在,如何将书信息插入表格?换句话说,我可以知道这本书存在吗?

0 个答案:

没有答案