Differences between current version and predecessor to the previous major change of QuestionSurSql.
Other diffs: Previous Revision, Previous Author
Newer page: | version 3 | Last edited on September 5, 2011 1:46 pm | by mabd | |
Older page: | version 1 | Last edited on November 10, 2009 2:49 pm | by mabd | Revert |
@@ -7,17 +7,17 @@
Ce document contient 2 sections : une pour sqlplus, l'autre pour PL/SQL
!! 1) Questions sur le client ''sqlplus''
-|^
__Question__ |^
__Réponse__
+|__Question__ |__Réponse__
|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
|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 é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 n (avec n > longueur du tuple)
|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 * fron 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 * fron 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 */
|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 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.
current version
FAQ pour les TME SQL et PL/SQL
Lire attentivement ConnexionOracle et DocumentationOracle
Rappel: l'accès à Oracle se fait avec l'outil client sqlplus
Ce document contient 2 sections : une pour sqlplus, l'autre pour PL/SQL
1) Questions sur le client sqlplus
Question | Réponse |
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 |
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 é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 n (avec n > longueur du tuple) |
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 * fron 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 */ |
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 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 |
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) |
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) |
2) Questions sur la programmation en PL/SQL
^Question | ^Réponse |
Comment effacer tous les types, tables et procédures que j'ai créés | @vider |
Le type booléen existe-t-il ? | Oui: BOOLEAN |
Mon programme ne produit plus aucun affichage... | ajouter SET SERVEROUTPUT ON |
Comment compiler un type ou une procédure ? | la commande est / (la barre de division) ou run |
Comment afficher les erreur de compilation ? | show err ou select * from user_errors; |
Comment afficher le nom de tous les objets définis par l'utilisateur (table, type, trigger, fonction, ...) ? | @liste ou call(liste_source()); ou select object_name, object_type, status from user_objects order by object_name; |
Comment afficher le code source d'une fonction avec les numéros de ligne | @source nom_fonction ou call(code_source('nom_fonction')); ou select * from user_source where name = 'nom_fonction' order by type, line; |
Que faire en cas d'erreur ORA-21700: l'objet n'existe pas ou va être supprimé ? | fermer la session oracle et se reconnecter. Explication: vous tentez d'accéder à des types ou des objets précédemment supprimés. |
Aller vers ConnexionOracle, DocumentationOracle, Accueil