J'ai entendu des gens faire référence à ce tableau et je ne savais pas de quoi il s'agissait.
oracle
dual-table
Brian G
la source
la source
Réponses:
C'est une sorte de tableau factice avec un seul enregistrement utilisé pour sélectionner lorsque vous n'êtes pas réellement intéressé par les données, mais que vous souhaitez plutôt les résultats d'une fonction système dans une instruction select:
par exemple
select sysdate from dual;
Voir http://www.adp-gmbh.ch/ora/misc/dual.html
la source
Il s'agit d'une table factice contenant un élément. C'est utile car Oracle n'autorise pas les instructions comme
Vous pouvez contourner cette restriction en écrivant
au lieu.
la source
De Wikipédia
L'histoire
La table DUAL a été créée par Chuck Weiss de la société Oracle pour fournir une table pour rejoindre les vues internes:
Cela peut ne pas être évident à partir de ce qui précède, mais la table DUAL d'origine contenait deux lignes (d'où son nom). De nos jours, il n'a qu'une seule ligne.
Optimisation
DUAL était à l'origine une table et le moteur de base de données effectuait les E / S disque sur la table lors de la sélection dans DUAL. Cette E / S de disque était généralement une E / S logique (n'impliquant pas d'accès au disque physique) car les blocs de disque étaient généralement déjà mis en cache en mémoire. Cela a entraîné une grande quantité d'E / S logiques par rapport à la table DUAL.
Les versions ultérieures de la base de données Oracle ont été optimisées et la base de données n'effectue plus d'E / S physiques ou logiques sur la table DUAL même si la table DUAL existe toujours.
la source
Je pense que cet article wikipedia peut aider à clarifier.
http://en.wikipedia.org/wiki/DUAL_table
la source
C'est la table spéciale d'Oracle. Je l'utilise souvent pour des calculs ou pour vérifier des variables système. Par exemple:
Select 2*4 from dual
imprime le résultat du calculSelect sysdate from dual
imprime la date actuelle du serveur.la source
Une sorte de pseudo-table sur laquelle vous pouvez exécuter des commandes et obtenir des résultats, tels que sysdate. Vous aide également à vérifier si Oracle est en place et à vérifier la syntaxe SQL, etc.
la source
Une table d'utilitaires dans Oracle avec seulement 1 ligne et 1 colonne. Il est utilisé pour effectuer un certain nombre d'opérations arithmétiques et peut être utilisé généralement lorsque l'on a besoin de générer une sortie connue.
SELECT * FROM dual;
donnera une seule ligne, avec une seule colonne nommée "DUMMY" et une valeur de "X" comme indiqué ici:
la source
Plus de faits sur le DUAL ....
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:1562813956388
Des expériences passionnantes faites ici, et des explications plus passionnantes par Tom
la source
La table DUAL est une table spéciale à une ligne présente par défaut dans toutes les installations de base de données Oracle. Il peut être utilisé pour sélectionner une pseudocolonne telle que SYSDATE ou USER
La table a une seule colonne VARCHAR2 (1) appelée DUMMY qui a une valeur de "X"
Vous pouvez tout lire à ce sujet dans http://en.wikipedia.org/wiki/DUAL_table
la source
DUAL est nécessaire dans le développement PL / SQL pour utiliser des fonctions qui ne sont disponibles qu'en SQL
par exemple
la source
C'est un objet à mettre dans le retour de cette ligne vide 1. Par exemple: sélectionnez 1 parmi dual; renvoie 1
sélectionnez 21 + 44 parmi dual; renvoie 65
sélectionnez [séquence] .nextval parmi dual; renvoie la valeur suivante de la séquence.
la source
DUAL, nous avons principalement utilisé pour obtenir le numéro suivant des séquences.
Syntaxe: SELECT 'nom_séquence' .NEXTVAL DUAL
Cela renverra la valeur d'une colonne et d'une colonne (nom de colonne NEXTVAL).
la source
une autre situation qui nécessite
select ... from dual
est lorsque nous voulons récupérer le code (définition de données) pour différents objets de base de données (comme TABLE, FUNCTION, TRIGGER, PACKAGE), en utilisant laDBMS_METADATA.GET_DDL
fonction intégrée:Il est vrai que de nos jours, les IDE offrent la possibilité d'afficher le DDL d'une table, mais dans des environnements plus simples comme SQL Plus, cela peut être très pratique.
ÉDITER
une situation plus générale: fondamentalement, lorsque nous devons utiliser une procédure PL / SQL dans une instruction SQL standard, ou lorsque nous voulons appeler une procédure à partir de la ligne de commande:
les deux recettes sont extraites du livre «Oracle PL / SQL Recipes» de Josh Juneau et Matt Arena
la source
Le DUAL est une table spéciale à une ligne et une colonne présente par défaut dans toutes les bases de données Oracle. Le propriétaire de DUAL est SYS.
DUAL est une table créée automatiquement par Oracle Database avec les fonctions de données. Il est toujours utilisé pour obtenir les fonctions des systèmes d'exploitation (comme la date, l'heure, l'expression arithmétique, etc.)
la source