0

ここでは、空のテーブルと関数を作成します。

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;

バージョン6.1.2のpgモジュールでnodejsでこの関数を呼び出します。
まず、テーブル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>
本が存在しない場合は、テーブルに挿入したい。しかしadd_ebook_f、nodejs を呼び出すと、この本の有無を判断できませんでした。
だから私の質問は、本の情報が存在しない場合、どうすればテーブルに挿入できますか? 言い換えれば、この本の存在を知ることができますか?

4

0 に答える 0