Question

Je tente de créer une vue dans PhpPgAdmin (PostGreSQL db) qui a l'instruction SQL suivante:

DELETE FROM myTable WHERE myTable.error IS NULL;

PhpPgAdmin me donne l'erreur suivante:

  

ERREUR: erreur de syntaxe à ou près de « SUPPR » au caractère 59   Dans la déclaration:   CREATE OR REPLACE VIEW "Schema1" "Supprimer les erreurs vides" SUPPRIMER A PARTIR myTable OÙ myTable.error IS NULL;.

Pour autant que je peux dire cette déclaration SQL est valide, et je les privilèges de suppression de la table. l'instruction DELETE n'est pas autorisé dans les vues? Toutes les idées que je fais mal?

Était-ce utile?

La solution

Vues sont utilisées pour afficher les données des instructions SELECT uniquement (généralement lorsque le SELECT est complexe). Les vues peuvent pas contenir des effacements MISES À JOUR ou INSERTS.

Peut-être que vous voulez une fonction ?

EDIT:. Comme OMG Poneys souligne, vous pouvez avoir des vues actualisables, mais c'est où vous publierait un SUPPRIMER à une vue existante, puis utiliser une règle pour réécrire la requête comme SUPPRIMER

Et s'il vous plaît, s'il vous plaît ne pas envelopper un appel de fonction pour faire un SUPPRIMER comme un effet secondaire dans une vue. Ses pousses inattendues et Jésus un chiot à chaque fois que cela se produit.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top