私はPostgreSQLに2種類のストアドプロシージャを記述しようとしています。 Postgreは機能しか持っていないと私は理解しています。誰かが自分のコードを見て指針を提示できるかどうか疑問に思っていました。また、スペーシング/新しいコマンド行の有無に慣れていません。PostgreSQLストアドプロシージャ(関数)の正しい構文は何ですか?
最初の関数は、ユーザーからの入力を受け取り、それをテーブルに追加する必要があります。 属性 "model"と "year"を持つテーブル名 "Car"があるとします。 新しい車をテーブルに追加するには、これは正しいストアドファンクションですか?
CREATE OR REPLACE FUNCTION
addto_car(model IN Car.model%type, year IN Car.year%type)
RETURNS
void
AS $$
BEGIN
INSERT INTO Car VALUES(model, year);
END;
$$ LANGUAGE plpgsql; (#Is this correct? I'm using postgresql 9)
----------進行コードで仕事 機能1
CREATE OR REPLACE FUNCTION
addto_car(In model Car.model%type, IN year Car.year%type)
AS $$
BEGIN
INSERT INTO Car VALUES(model, year);
END;
$$ LANGUAGE plpgsql;
これが機能するようになりました! (モデルと年をCarに挿入します)。
あなたの引用符は一致しません。あなたは '&&'で始まり、 '$$ 'で終わります。 '&&'は無効な引用符の区切り文字で始まると確信しています。関数本体を '$$'や '$ SOMETHING $'で開始して終了する必要があります。 – SingleNegationElimination
ああ、okが編集されました。ありがとう。 – tvguide1234