|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : novembre 2010 Messages : 46 ![]() |
Bonjour à tous,
Depuis hier je m’évertue à mettre en place une procédures stockées qui me tient encore en échec. J'ai deux tables reliées par un champ Num_ordr_PAX que j'arrive à decomposé en 2 données avec ces 2 selects Code :
Code :
SELECT a.Num_ordr_PAX,a.PAX_name,a.Num_Passport,a.desti_finale,a.Observ_PAX,b.Vols_INAD,b.Motifs FROM T_PAX AS a JOIN T_INAD b ON a.Num_ordr_PAX=b.Num_ordr_PAX stance Prière de m'aider. |
||
|
|
00
|
|
|
#2 | |||
![]() ![]() ![]() Nicolas SouquetAdministrateur de base de données Inscription : janvier 2005 Messages : 4 665 ![]() |
Bonjour,
Vous confondez ce qu'est une vue et ce qu'est une procédure stockée. Une vue vous retournera un ensemble de lignes basé sur une requête de type SELECT. Elle n'a aucune existence physique sauf si elle est indexée, et elle n'est pas paramétrable. En revanche on peut toujours la filtrer comme toute autre table, à l'aide de la clause WHERE. Enfin une vue retourne toujours un ensemble de lignes (notez que celui-ci peut être vide Une procédure stockée est une suite d'instructions à exécuter, qui peut ou non : - retourner un ensemble de lignes - prendre des paramètres en entrée - affecter des valeurs à des paramètres de sortie (clause OUTPUT des paramètres) Dans les deux cas, le plan d'exécution est stocké dans le cache de procédures. Citation:
J'explique ici la différence. Cela peut vous paraître équivalent à chercher des poils sur les œufs, pourtant la différence est non négligeable. Ensuite la conception de votre table est fausse puisqu'elle ne respecte pas la première forme normale, selon laquelle les valeurs stockées dans les colonnes doivent être atomiques (insécables si vous préférez).J'espère donc qu'il s'agit d'une table dont vous vous servez pour réaliser des imports de données Vous pouvez créer des colonnes calculées (et éventuellement indexées) qui extraient automatiquement les valeurs comme vous le spécifiez dans des colonnes de la table. Si vous avez une procédure d'import, alors l'extraction de telles valeurs devrait être fait dans cette procédure. Dans l'état actuel des choses, si j'ai bien compris, votre procédure stockée devrait être : Code :
N'oubliez jamais de qualifier les objets que vous utilisez par le nom du schéma auquel ils appartiennent. Par défaut c'est dbo, et si vous le précisez, cela évite à SQL Server de le rechercher dans les tables de méta-données @++
__________________
En bases de données relationnelles SQL, il n'y a ni tableaux, ni enregistrements, ni champs: il y a des tables, des lignes et des colonnes. Blog | Profil| Consulter ou télécharger les fichiers d'aide de SQL Server, des versions 2000 à 2012 |
|||
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : novembre 2010 Messages : 46 ![]() |
Merci pour ton conseil et ton aide. Tu as vu juste, j'ai confondu une vue et une procédures stockée. Merci pour ton aide.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com