Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:documentation:oracle:oracle10:questionsursql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
site:enseignement:documentation:oracle:oracle10:questionsursql [13/10/2010 16:14]
bd créée
site:enseignement:documentation:oracle:oracle10:questionsursql [12/02/2016 10:37] (Version actuelle)
hubert [1) Questions sur le client ''sqlplus'']
Ligne 2: Ligne 2:
  
  
-Lire attentivement [[ConnexionOracle]] et [[DocumentationOracle]]+Lire attentivement [[connexionoracle]] et [[documentationoracle]]
  
 Rappel: l'​accès à Oracle se fait avec l'​outil client ''​sqlplus''​ Rappel: l'​accès à Oracle se fait avec l'​outil client ''​sqlplus''​
Ligne 13: Ligne 13:
 | Sous sqlplus, l'​exécution de mon fichier ne renvoie aucun message... |Ajouter un point-virgule à la fin de l'​ordre SQL. Ou ajouter une barre / à la fin du bloc PL/SQL. | | Sous sqlplus, l'​exécution de mon fichier ne renvoie aucun message... |Ajouter un point-virgule à la fin de l'​ordre SQL. Ou ajouter une barre / à la fin du bloc PL/SQL. |
 | sqlplus affiche le nombre 2 au lieu d'​afficher le résultat de la requête |Ajouter un point-virgule en fin de requête | | sqlplus affiche le nombre 2 au lieu d'​afficher le résultat de la requête |Ajouter un point-virgule en fin de requête |
-| Comment éviter l'​erreur suivante ? ''​SP2-0734 commande inconnue au début de ...le reste de la ligne est ignoré ''​ |Ne pas insérer de ligne vide au milieu d'un ordre SQL. Autre réponse: autoriser les lignes vides : '''​set sqlbl on''' ​ |+| Comment éviter l'​erreur suivante ? ''​SP2-0734 commande inconnue au début de ...le reste de la ligne est ignoré ''​ |Ne pas insérer de ligne vide au milieu d'un ordre SQL. Autre réponse: autoriser les lignes vides : **set sqlbl on**  |
 | Comment supprimer le message suivant ? ''​Entrée limitée a nn caratères''​ |Ajouter un retour chariot (Entrée) à la fin de votre fichier | | Comment supprimer le message suivant ? ''​Entrée limitée a nn caratères''​ |Ajouter un retour chariot (Entrée) à la fin de votre fichier |
-|Comment éviter que le résultat d'une requête soit découpé en blocs de 20  tuples ? |set '''​pagesize''' ​200 | +|Comment éviter que le résultat d'une requête soit découpé en blocs de 20  tuples ? |set **pagesize** 200 | 
-|Comment afficher un tuple long sur une seule ligne |set '''​linesize''' ​180   ​(valeur supérieure à la longueur du n-uplet) |+|Comment afficher un tuple long sur une seule ligne |set **linesize** 180   ​(valeur supérieure à la longueur du n-uplet) |
 |Comment enregistrer une trace d'​exécution ? |Copier-coller le résultat de l'​exécution vers l'​éditeur de texte. Autre réponse, enregistrer la trace dans le fichier trace.lst \\ spool trace \\  @requete (ou toute autre commande) \\ ... etc. ... \\ spool off \\ Attention, le fichier trace.lst est écrasé à chaque enregistrement de trace. | |Comment enregistrer une trace d'​exécution ? |Copier-coller le résultat de l'​exécution vers l'​éditeur de texte. Autre réponse, enregistrer la trace dans le fichier trace.lst \\ spool trace \\  @requete (ou toute autre commande) \\ ... etc. ... \\ spool off \\ Attention, le fichier trace.lst est écrasé à chaque enregistrement de trace. |
 |Quelle est l'​erreur dans la requête suivante ? ''​ \\ select * \\  from Gain \\ where NomSponsor=&​NomSponsor''​ |Vous utilisez une variable de ''​substitution''​ au lieu d'une variable ''​PL/​SQL''​. \\ solution1: saisir '​Reebok'​ entre apostrophes au lieu de Reebok \\ solution2 : mettre la variable de substitution entre apostrophes : \\ where NomSponsor='&​NomSponsor'​ \\ solution 3: utiliser une variable PL/​SQL. ​ | |Quelle est l'​erreur dans la requête suivante ? ''​ \\ select * \\  from Gain \\ where NomSponsor=&​NomSponsor''​ |Vous utilisez une variable de ''​substitution''​ au lieu d'une variable ''​PL/​SQL''​. \\ solution1: saisir '​Reebok'​ entre apostrophes au lieu de Reebok \\ solution2 : mettre la variable de substitution entre apostrophes : \\ where NomSponsor='&​NomSponsor'​ \\ solution 3: utiliser une variable PL/​SQL. ​ |
-|Quelle est la syntaxe pour les  commentaires ? |Deux tirets en début de ligne : \\ -- un commentaire \\ Pour commenter un bloc entier, même syntaxe qu'en java: \\ /* bloc de plusieurs lignes */  ​||+|Quelle est la syntaxe pour les  commentaires ? |Deux tirets ​consécutifs ​en début de ligne : \\ %%--%% un commentaire \\ Pour commenter un bloc entier, même syntaxe qu'en java: \\ /* bloc de plusieurs lignes */  |
 |L'​invite est DOC> au lieu de SQL> |Il manque la marque de fin de commentaire '​*/'​ \\ Ctrl-C pour retrouver l'​invite SQL> | |L'​invite est DOC> au lieu de SQL> |Il manque la marque de fin de commentaire '​*/'​ \\ Ctrl-C pour retrouver l'​invite SQL> |
 |Comment éditer des requêtes en couleur ? |Avec l'​éditeur emacs : Alt-x sql-mode puis Menu SQL > highlighting > oracle keywords ​ | |Comment éditer des requêtes en couleur ? |Avec l'​éditeur emacs : Alt-x sql-mode puis Menu SQL > highlighting > oracle keywords ​ |
-|Comment avoir l'​historique des commandes entrées sous sqlplus |Utiliser sqlplus à l'​intérieur d'​emacs ​ : \\ Dans la fenêtre sqlplus interactive d'​emacs (*SQL*). \\ L'​historique des commandes est : Ctrl !FlècheHaut : commande précédente \\ Ctrl !FlècheBas : commande suivante \\ Ne pas utiliser la fenêtre *SQL* pour saisir vos requêtes, mais éditer vos requêtes dans une autre fenêtre. ​ |+|Comment avoir l'​historique des commandes entrées sous sqlplus |Utiliser sqlplus à l'​intérieur d'​emacs ​ : \\ Dans la fenêtre sqlplus interactive d'​emacs (*SQL*). \\ L'​historique des commandes est : Ctrl FlècheHaut : commande précédente \\ Ctrl FlècheBas : commande suivante \\ Ne pas utiliser la fenêtre *SQL* pour saisir vos requêtes, mais éditer vos requêtes dans une autre fenêtre. ​ |
 |Erreur ORA-00054: resource occupée ...NOWAIT |Fermer toutes vos connexions à  oracle, puis attendre quelques minutes et recommencer...\\ blocage provoqué par une session concurrente qui met à jour la définition de vos tables ​ | |Erreur ORA-00054: resource occupée ...NOWAIT |Fermer toutes vos connexions à  oracle, puis attendre quelques minutes et recommencer...\\ blocage provoqué par une session concurrente qui met à jour la définition de vos tables ​ |
 |Quel est le schéma de la relation R ? |describe R   (ou desc R ''​sans point virgule''​) | |Quel est le schéma de la relation R ? |describe R   (ou desc R ''​sans point virgule''​) |
 |Quelle est la valeur par défaut des paramètres de l'​environnement ''​sqlplus''​ |show all  (affiche la liste des paramètres) | |Quelle est la valeur par défaut des paramètres de l'​environnement ''​sqlplus''​ |show all  (affiche la liste des paramètres) |
-||'''​Qui suis-je ?'''  ​||show user \\  ou \\ select username from v$session where sid = (select distinct sid from v$mystat); ​ | +|'''​Qui suis-je ?''' ​ |show user \\  ou \\ select username from v$session where sid = (select distinct sid from v$mystat); ​ | 
-||Erreur ORA-06553: PLS-306: numéro ou types d'​arguments erronés dans appel à '​OGC_X' ​||Ambigüité entre votre variable nommée '''​x'''​ et un objet prédéfini de même nom %%%dans votre requête, renommer votre variable '''​x'''​ (en '''​x1'''​ par exemple) |+|Erreur ORA-06553: PLS-306: numéro ou types d'​arguments erronés dans appel à '​OGC_X'​ |Ambigüité entre votre variable nommée '''​x'''​ et un objet prédéfini de même nom %%%dans votre requête, renommer votre variable '''​x'''​ (en '''​x1'''​ par exemple) | 
 + 
 +Ma requête SQL suivante est correcte mais elle semble durer un temps "​infini"​ ...  
 +<code sql> 
 +select count(*)  
 +from C; --affiche le nombre de Clubs 
 +</​code>​ 
 +Enlever le commentaire (les doubles tirets) sur la ligne du FROM ou du WHERE. Ne jamais mettre de commentaire sur la même ligne que la requête. Séparer les lignes de commentaires des lignes  
 +de la requête. Vérifier que vous avez bien l'​invite SQL> dans le buffer *SQL* avant d'​exécuter une requête 
  
  
Ligne 47: Ligne 56:
 ---- ----
  
-Aller vers [[ConnexionOracle]], [[DocumentationOracle]], [[TME Oracle]]+Aller vers [[connexionoracle]], [[documentationoracle]], [[questionsursql]]
  
site/enseignement/documentation/oracle/oracle10/questionsursql.1286979290.txt.gz · Dernière modification: 13/10/2010 16:14 par bd