Comment puis-je LIMITER le nombre de lignes dans un SUPPRIMER avec DB2?
Je veux ajouter une sécurité sur un point sensible de la table quand je supprime les lignes avec une requête SQL sur une table DB2.
Je veux reproduire la façon MySQL permet de limiter le nombre de lignes supprimées dans une requête SQL.
Fondamentalement, je veux le faire avec DB2 :
DELETE FROM table WHERE info = '1' LIMIT 1
Est-il un moyen de le faire avec DB2 ?
OriginalL'auteur kevin | 2009-06-30
Vous devez vous connecter pour publier un commentaire.
ce sujet de l'utilisation de la fonction row_number() à la place? c'est à dire où la fonction row_number() dans ( sélectionnez la fonction row_number( ...
Konstantinos, il convient de chercher d'abord 1 lignes seulement". Mot utilisé doit être des lignes et des lignes, même si l'extraction d'une seule ligne 🙂
merci pour la correction, édité 🙂
OriginalL'auteur Konstantinos
Cela dépend vraiment de votre plate-forme.
Si vous utilisez DB2 sous Linux/Unix/Windows, vous pouvez simplement créer une sélection qui obtient les lignes que vous voulez, et le mettre comme une sous-requête pour votre supprimer, et DB2 sera en mesure de supprimer les résultats de votre sélection. Comme:
Si vous êtes sur DB2 pour z/OS, cette syntaxe ne fonctionne pas, malheureusement. Mais, vous pouvez utiliser vos clés primaires pour faire fondamentalement la même chose (on travaille aussi sur LUW):
Voici un exemple de script qui montre comment il est utilisé:
OriginalL'auteur bhamby
Sur IBMi DB2:
C'est très bien pour mon cas d'utilisation où j'ai un très grand nombre de lignes à supprimer et je veux le faire dans les lots.
OriginalL'auteur keV
Si votre clé primaire a plusieurs valeurs, ou vous avez juste besoin de plusieurs valeurs que l'état, c'est la requête qui fonctionne:
OriginalL'auteur bluefoot
Comment est cette requête?
OriginalL'auteur klaus momberger
OriginalL'auteur minervino
Il suffit de sélectionner une déclaration, et mettre l'instruction à l'intérieur de la requête de suppression:
OriginalL'auteur Panadol Chong
Le RRN de la fonction est à AS400/iSeries/PowerSystem seul. Dans d'autres environnements, il ya d'autres fonctions pour la relative numéro d'enregistrement.
Cela rend-il possible d'effacer un enregistrement de plusieurs identiques, même sans clé UNIQUE. Il peut également être utilisé pour mettre à jour avec des modifications mineures.
fonctionne comme la LIMITE, mais avec SUPPRIMER et /ou de mise à JOUR.
Il ne fonctionne que sur SQL DB2 dans d'autres paramètres doivent être modifiés par le RRN fonction pour renvoyer le numéro de la colonne
Paresh: ANGLAIS: j'ai mis bilingue pour atteindre le plus grand nombre de personnes. Je pense que ce qui est important n'est pas la langue ou la couleur de peau, mais le message qui aident à résoudre les problèmes. ESPAÑOL: Lo il puesto bilingüe para que llegue al maire numero de personas. Creo que lo importante no es el idioma o el color de piel sino el mensaje que ayuda un resolver los problemas
OriginalL'auteur Juan Acisa
OriginalL'auteur elcool