質問

次のSQLステートメントを持つphppgadmin(postgresql db)でビューを作成しようとしています。

DELETE FROM myTable WHERE myTable.error IS NULL;

phppgadminは私に次のエラーを与えてくれます:

エラー:文字59の「Delete」またはその近くのステートメントでの「Delete」の構文エラー:「Schema1」を作成または交換します。

このSQLステートメントが有効であると言える限り、テーブルの特権を削除しています。削除ステートメントはビューで許可されていませんか?私が間違っていることはありますか?

役に立ちましたか?

解決

ビューは、選択されたステートメントのみからデータを表示するために使用されます(通常、選択が複雑な場合)。ビューには、削除、更新、または挿入を含めることはできません。

おそらくあなたは欲しい 働き?

編集:OMG Poniesが指摘しているように、更新可能なビューを使用できますが、既存のビューに削除を発行し、ルールを使用してクエリを削除として書き換える場合です。

また、ビューで副作用として削除を行うために関数呼び出しを包み込まないでください。それは予想外で、イエスはこれが起こるたびに子犬を撃ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top