8
votes

Quelle est la signification de # dans SQL?

J'ai le code suivant pour créer un type d'objet dans Oracle (PL ??)

CREATE OR REPLACE TYPE STAFF_T as OBJECT(Staff_ID# NUMBER, Person PERSON_T); \


1 commentaires

Certaines personnes utilisent # comme une abréviation pour "nombre". Par exemple. Politique # serait prononcé "numéro de politique". Dans votre cas, ce serait "numéro d'identification du personnel", je suppose.


3 Réponses :


10
votes

Pas de signification particulière.

oracle permet d'utiliser $ , _ et # dans des identificateurs, tout comme tous les autres caractères alphanumériques, mais l'identifiant doit commencer par un alpha caractère (une lettre).


0 commentaires

4
votes

Cela fait partie du nom de la colonne staff_id # . Le panneau de livre est une partie admissible d'un identifiant (nom de table / colonne) dans PL / SQL. Voir ici


0 commentaires

3
votes

Quiconque a écrit le code ne voulait probablement rien dire spécial par #.

mais # signifie apparemment quelque chose à Oracle, bien que je ne sache pas quoi. À partir du Référence de langue SQL :

Oracle vous décourage fortement de en utilisant $ et # in non notifié identifiants.

Voici quelques suppositions pour ce que l'avertissement est à propos de:

  • c'est lié à un très vieux bug (le AVERTISSEMENT remonte au moins oracle 7)
  • Oracle prévoit faire quelque chose avec dans une future véronon
  • ce personnage n'est pas disponible sur tous les claviers, les jeux de caractères ou les plates-formes que Oracle prend en charge

    Le dictionnaire de données utilise beaucoup le signe du numéro, et autant que je puisse le dire, cela fonctionne parfaitement pour les objets utilisateur. Mais juste pour être en sécurité, vous voudrez peut-être le supprimer.


2 commentaires

Je doute que c'est un bogue ancien, car beaucoup de dictionnaire de données d'Oracle les utilise. Par exemple, la colonne Serial # en V $ Session.


Je crois que c'est pour des raisons de compatibilité. # , par exemple, est un commentaire dans mysql .