PostgreSQL(バージョン9)データベースにサードパーティ製の製品でテーブルを作成していて、そのテーブルを変更して新しいテーブルを追加する必要がありますその列を標準値に設定します。しかし、私はそれがtotal_score
フィールドが存在することを知らないため、これを行うことは許されないよ既存のテーブルに列を追加して単一のPostgreSQL関数で使用する方法
CREATE FUNCTION alterscorecolumns()
RETURNS void AS
$BODY$
ALTER TABLE "hi_scores" ADD "total_score" integer;
UPDATE "hi_scores" SET total_score = score1+score2+score3;
$BODY$
:
は、私は私の関数の中で次のよう持っています。メッセージを受け取ったばかりですERROR: column "total_score" of relation "hi_scores" does not exist.
これは実行計画に関連する理由があると思いますが、アップデートを実行する前にALTER TABLE
を実行するように指示する必要があるかもしれませんが、私が何をする必要があるのか理解する。
ありがとう、これは私が知る必要があったものです。最後に、私は2つの関数にプロセスを分割しました(私は "ALTER TABLE"関数を実行した後に "UPDATE"を作成しなければなりませんでした)ので、コミットされている関数を変更すると、私が更新を実行するために1つ。 – glenatron