2009-07-14 9 views
4

Je suis nouveau sur la plateforme Oracle (ayant principalement utilisé MySQL, avec un peu de Postgres et SQL Server aussi). J'ai récemment découvert la déclaration suivanteDifférences entre SQL Plus et SQL "normal"?

DESC TABLE_NAME; 

ne fonctionnera que dans l'outil SQL * Plus que j'utilise pour tester mes requêtes. Cela ne fonctionnera PAS lorsque j'utiliserai les fonctions standard de PHP pour me connecter à la base de données Oracle. Je dois utiliser quelque chose comme

SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'TABLE_NAME' 

à la place. D'après ce que je comprends, c'est parce que la déclaration "DESC" est un add-on dans l'application SQL * Plus.

Mes questions sont

  1. Est-ce que je comprends bien, ou est-il quelque chose de plus subtil qui se passe?
  2. Quels autres ajouts spéciaux y a-t-il à SQL * Plus?
  3. Existe-t-il un moyen de désactiver ces ajouts spéciaux pendant que je m'adresse à Oracle?
  4. Tout autre conseil général pour Oracle newb de vetrans de la plate-forme est apprécié.

Répondre

11
  1. Oui. SQL * Plus est un outil client. SQL est ce qui est réellement exécuté sur le serveur.
  2. Documentation pour SQL * Plus est here et here Beaucoup des « extensions » sont liées à la présentation (par exemple, la largeur de votre écran est)
  3. Pas vraiment dans SQL * Plus. Si vous utilisez SQL * Plus pour longtemps, vous découvrirez bientôt que vous avez vraiment besoin de pouvoir changer la taille de ligne par défaut, la taille de la page, la taille des colonnes, le formatage des nombres ...
  4. Personnellement, il est bon de savoir comment Pour faire des choses dans SQL * Plus, l'un des outils client de l'interface graphique peut être beaucoup plus facile. Personnellement, j'utilise SQL Squirrel pour la plupart des choses, et mon éditeur préféré et SQL * Plus pour le développement de programmes PL/SQL.
+1

1/ou plus spécifiquement, SQL est le langage que le serveur comprend et utilise pour renvoyer des résultats. Vous ne pouvez donc exécuter que des requêtes SQL depuis PHP. Oracle comprend le SQL standard, mais possède certaines de ses propres extensions ... DESC est seulement construit dans sql * plus. 4/Si vous travaillez sur Linux ou Solaris sans aucun outil graphique comme je le suis, vous pourriez être bloqué avec sqlplus. sqlplus par défaut n'est pas l'ancienne flèche vers le haut pour la dernière commande tapée. Si vous téléchargez/construisez et installez la bibliothèque rlwrap, vous pouvez exécuter sqlplus avec rlwrap sqlplus ... Il y a aussi gqlplus mais votre salaire peut varier. – Matt

Questions connexes