関数の呼び出し方, PostgreSQL
2023-09-04 20:12:03
質問
PostgreSQLで関数を使用して、データを保存しようとしています。以下は、作成スクリプトです。
-- Function: "saveUser"(integer, character varying, character varying, character varying, character varying, character varying)
-- DROP FUNCTION "saveUser"(integer, character varying, character varying, character varying, character varying, character varying);
CREATE OR REPLACE FUNCTION "saveUser"("pUserID" integer, "pName" character
varying, "pLastName" character varying, "pUserName" character varying,
"pPassword" character varying, "peMail" character varying)
RETURNS boolean AS
$BODY$
BEGIN
SELECT 1
FROM "USERS"
WHERE "userID" = $1;
IF FOUND THEN
UPDATE "USERS"
SET "name" = $2,
"lastName" = $3,
"userName" = $4,
"password" = $5,
"eMail" = $6
WHERE "userID" = $1;
ELSE
INSERT INTO "USERS"
("name", "lastName", "userName", "password", "eMail")
VALUES
($2, $3, $4, $5, $6);
END IF;
END;$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
ALTER FUNCTION "saveUser"(integer, character varying, character varying, character varying, character varying, character varying) OWNER TO postgres;
PostreSQLのドキュメントによると、結果セットを返さない関数を呼び出すには、その名前とプロパティだけを書けば十分だそうです。そこで、このように関数を呼び出してみます。
"saveUser"(3, 'asd','asd','asd','asd','asd');
しかし、以下のようなエラーが発生します。
ERROR: syntax error at or near ""saveUser""
LINE 1: "saveUser"(3, 'asd','asd','asd','asd','asd')
^
********** Error **********
ERROR: syntax error at or near ""saveUser""
SQL state: 42601
Character: 1
私は結果セットを返す他の関数を持っています。私は
SELECT * FROM "fnc"(...)
を使用してそれらを呼び出すと、それは動作します。なぜこのエラーが発生するのでしょうか?
EDITです。 私はpgAdmin III クエリーツールを使用しており、そこでSQLステートメントを実行しようとしています。
どのように解決するのですか?
関数呼び出しは、依然として有効なSQL文である必要があります。
SELECT "saveUser"(3, 'asd','asd','asd','asd','asd');
関連
-
[解決済み] PostgreSQLの場合。PostgreSQLのテーブルを表示する
-
[解決済み] PostgreSQLの "DESCRIBE TABLE"
-
[解決済み] PostgreSQL コマンドラインユーティリティ: psql を終了する方法
-
[解決済み] PostgreSQLのユーザーパスワードを変更する方法を教えてください。
-
[解決済み] どのバージョンのPostgreSQLを使用していますか?
-
[解決済み] PostgreSQLからのPL/pgSQL出力をCSVファイルに保存する
-
[解決済み] PostgreSQLでデータベースのコピーを作成する
-
[解決済み] PostgreSQL で "use database_name" コマンドを使用する。
-
[解決済み】Mac OS XでPostgreSQLサーバーを起動するには?
-
[解決済み】PostgreSQLのエラーです。Fatal: ロール "username" が存在しません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PostgresqlのデータベーステーブルのデータをExcel形式にエクスポートする方法(推奨)
-
Postgresql データベース timescaledb timescaledb 問題 大容量データテーブルをスーパーテーブルに変換すること
-
PostgreSQLがバキュームテーブルの情報を収集する必要があることを発見する方法
-
Postgresql+Springboot ymlの基本的な使い方
-
[解決済み] PostgreSQLで更新+結合を行うには?
-
[解決済み] psql'に非対話的にパスワードを指定するには?
-
[解決済み] Postgresqlの場合。パスワード付きで psql を実行するスクリプト
-
[解決済み] PostgreSQLでカラムのデフォルト値を変更するにはどうすればよいですか?
-
[解決済み] PostgreSQLでタイムスタンプの差を秒単位で求める
-
[解決済み] 拡張機能は存在するが、uuid_generate_v4 が失敗する