IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

delete from avec clause sample !?!?!


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut delete from avec clause sample !?!?!
    Bonjour à tous,

    Je m'arrache les cheveux sur un truc très simple pour moi en vba, odbc et recordset mais que je n'arrive pas à faire en sql sur Oracle 10.2 (sqlplus) à partir d'unix :

    je souhaite deleter un certain nombre de lignes d'une table (en général le nombre de ligne divisé par 2 donc la moitié) mais ceci en aléatoire.

    Il existe la clause SAMPLE (oracle) qui permet de faire de l'aléatoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from MA_TABLE sample (50)
    où (50) représente 50 % de la table (enfin environ !)

    Voilà ce que donne mon script en create :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    create table MA_TABLE2 as
    select * from MA_TABLE1
    sample (99)
    where rownum <= (select count(*) from MA_TABLE1) / 2
    Je mets (99) parce que (50) ramène quelque fois moins (ou plus) de la moitié des lignes !!!!!! Donc je limite au nombre de lignes de la table divisé par 2.

    Je me sers de la clause sample en select ou create table sans aucun soucis mais en delete rien à faire, j'ai une erreur "... sample clause not allowed ...".

    J'ai tenté une autre approche avec le DBMS_random.value mais pareil ca ne marche pas.

    Quelque DBA et/ou expert aurait il une soluce pour ma pomme ?

    D'avance merci pour vos réponses et vos lectures !

    Daniel.

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Quelle idée bizarre d’utiliser sample pour ça !
    Bref, utiliser dbms_random pour générer des valeurs aléatoires dans le domaine de définition de votre clé primaire.

Discussions similaires

  1. [Débutant] Delete from avec Access et VB.NET
    Par amin.maaroufi dans le forum VB.NET
    Réponses: 3
    Dernier message: 20/02/2015, 12h14
  2. Réponses: 2
    Dernier message: 01/04/2014, 13h35
  3. [AC-2007] Requête DELETE * avec clause WHERE
    Par al_bert dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 13/05/2009, 17h03
  4. delete from avec oracle
    Par dietrich dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 24/04/2008, 14h09
  5. [Débutant] Problème avec DELETE FROM
    Par gouakkamol dans le forum Langage SQL
    Réponses: 2
    Dernier message: 30/11/2007, 09h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo