RecentChanges
|
FindPage
|
LikePages
|
BackLinks
View Source:
QuestionSurSql
Note:
This page has been locked and cannot be edited.
!!! 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; ---- Aller vers ConnexionOracle, DocumentationOracle, [Accueil]