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