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

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : juin 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Différence entre SQL Developer et SQLPlus - Script ne fonctionne pas
    Bonjour,

    je suis nouveau et je débute (depuis quelques mois), dans le SQL oracle.
    Je suis "utilisateur" d'une base de donnée, et je cherche a faire ressortir des indicateurs.

    J'ai fais un script qui permet de me sortir, par type de référence, la quantité disponible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    select /*csv*/ conf.ID_REFERENCE,conf.code_gtin, 
    ((select count(*) nb from SN_POOL_PAQUETS where SN_POOL_PAQUETS.code_generation like conf.ID_REFERENCE||'§')* conf.NB_SN_PER_PACKET) Nb_SN, conf.DESCRIPTION from sn_config_ref conf
     
    left outer join sn_pool_paquets pool on pool.id_sn_config_ref=conf.ID_REFERENCE
     
    where (conf.DESCRIPTION like '%ZON%') and conf.ETAT_REFERENCE=512
     
    group by conf.ID_REFERENCE, conf.code_gtin,conf.NB_SN_PER_PACKET,conf.DESCRIPTION
     
    order by conf.ID_REFERENCE asc;

    Cela fonctionne bien en sql developer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    "ID_REFERENCE","CODE","NB","DESCRIPTION"
    183,"0107471131",9900,"Commentaire ZON1"
    531,"0340806229",650400,"Commentaire ZON2"
    ...
    Mais en SQLPlus (je souhaite que utilisé le planificateur de tache pour automatiser la requete), la valeur NB est toujours à 0
    Le select count(*) ne passe pas ... ?

    Bref je comprends pas.


    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    DBA Oracle
    Inscrit en
    avril 2013
    Messages
    1 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DBA Oracle
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : avril 2013
    Messages : 1 217
    Points : 1 407
    Points
    1 407
    Par défaut
    Une question toute bête, tu pointes bien sur la même base avec les deux outils?

    Que renvoi le SELECT suivant sous SQL Developer et SQL *Plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT name from v$database;
    Si tu as un message d'erreur disant que la table ou vue n'existe pas, demande à un DBA, si possible , un user avec plus de droits (tu dois pouvoir interroger le dictionnaire de données).
    DBA Oracle
    Rédacteur du blog : dbaoraclesql.canalblog.com

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : juin 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Oui je pointe sur la même base

    Le resultat de la requete renvoi 48 lignes sur les deux outils, mais toutes les valeurs de la colonne NB sont à 0

    Résultat identique sur les deux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00942: Table ou vue inexistante

    J'ai essayé de remplacer mon * conf.NB_SN_PER_PACKET par un + conf.NB_SN_PER_PACKET, et là j'ai bien une valeur, cohérente par rapport à la valeur de NB_SN_PER_PACKET !


    J'en viens à me demander si c'est pas mon § qui plante tout ?


    Merci de ton aide !

  4. #4
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    juillet 2003
    Messages
    4 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : juillet 2003
    Messages : 4 377
    Points : 7 231
    Points
    7 231
    Billets dans le blog
    3
    Par défaut
    Remplace alors le '§' par le chr() correspondant. Ca doit être un problème de NLS sous sqlplus

    Sous sqldev tu fais un ascii('§') pour avoir le bon code ascii
    et tu exécutes la requête suviant (en remplaçant le xxx par la bonne valeur)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT conf.ID_REFERENCE, conf.code_gtin, 
    (	(SELECT COUNT(*) nb FROM SN_POOL_PAQUETS WHERE SN_POOL_PAQUETS.code_generation LIKE conf.ID_REFERENCE|| chr(xxx) ) 
    	* conf.NB_SN_PER_PACKET) Nb_SN, conf.DESCRIPTION 
    FROM sn_config_ref conf
    		LEFT OUTER JOIN sn_pool_paquets pool ON pool.id_sn_config_ref=conf.ID_REFERENCE
    WHERE conf.DESCRIPTION LIKE '%ZON%' AND conf.ETAT_REFERENCE=512
    GROUP BY conf.ID_REFERENCE, conf.code_gtin,conf.NB_SN_PER_PACKET,conf.DESCRIPTION
    ORDER BY conf.ID_REFERENCE ASC;
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB

  5. #5
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : juin 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    J'ai testé sans le § et en effet ça marchait...


    Je n'ai pas réussi a faire le ascii('§'), j'ai trouvé le code ascii 167 du § sur internet et ça fonctionne !!


    Merci beaucoup pour ton aide !

  6. #6
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    juillet 2003
    Messages
    4 377
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : juillet 2003
    Messages : 4 377
    Points : 7 231
    Points
    7 231
    Billets dans le blog
    3
    Par défaut
    Ah oui pardon, désolé j'ai pas été assez précis, suffisait de faire un select
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT ASCII('§') FROM dual
    Pense à mettre le post en résolu
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    juin 2019
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : juin 2019
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Ahah en effet ça devait te paraître tellement évident, alors que pour moi en bon galérien ...

    Encore une fois merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Différence entre SQL et PL/SQL
    Par wellknown dans le forum PL/SQL
    Réponses: 8
    Dernier message: 16/10/2012, 15h24
  2. Réponses: 1
    Dernier message: 01/07/2008, 23h25
  3. Requête différence entre SQL et l'Option Access
    Par yoko000 dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/04/2008, 10h26
  4. différence entre SQl server Express 2005 et SQL 2005
    Par nutix2003 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 09/05/2007, 16h56

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