Utilisation de SQl Server 2000 J'ai une procédure stockée qui joint deux tables et renvoie ensuite les données. Je veux que sp puisse le faire pour n'importe quel nom de table que je lui passe, sinon j'aurai exactement le même code à l'exception du nom de la table 20 fois dans une instruction géante if. Fondamentalement, comment puis-je utiliser une variable pour pointer vers une table, ou est-ce autorisé? Merci.Table SQL "Pointeur"?
Répondre
Vous devez SQL dynamique, commencez ici The Curse and Blessings of Dynamic SQL d'apprendre comment le faire correctement afin que personne ne tombe à vos tables ou ne fait rien d'autre possible avec SQL Injection
Essayez de générer le SELECT en tant que chaîne, puis en appelant EXEC et en transmettant la chaîne.
par exemple.
declare @sql varchar(500)
set @sql = 'select whatever from ' + @tableName
exec @sql
un proc à tout faire est généralement une mauvaise mauvaise idée . 20 tables possibles que je pourrais avoir besoin d'aller selon les circonstances indiquent presque toujours une conception de base de données qui est mauvaise. Lire l'article Denis posté sur les malédictions et les bénédictions de SQL dynamique.
Certaines colonnes de chaque table sont cohérentes et c'est ce que je tire. Serait-il préférable d'avoir 20 déclarations if? – Shawn
Si j'avais cinq colonnes qui étaient les mêmes dans 20 tables, je les retirerais sur une table parent séparée. C'est ce que je veux dire par rapport à la mauvaise conception de votre base de données. – HLGEM
Peut-être, mais cela ne fonctionnerait pas avec la façon dont j'affiche les données et les mise à jour. – Shawn
- 1. C erreur SQL pointeur
- 2. Excel Table SQL Table
- 3. Sql pointeur de catalogue Server/DB -
- 4. pointeur pointeur C++ Méthodes
- 5. Interconversion pointeur à pointeur
- 6. Table de serveur sans table SQL Server
- 7. Commande SQL RENAME TABLE
- 8. dynamique table pivotante sql
- 9. table tournante sql
- 10. SQL Server: table Pivot
- 11. Ajouter/modifier table SQL
- 12. Transform SQL Table
- 13. Rejoindre la table SQL?
- 14. Tri table SQL
- 15. t-sql table rejoindre
- 16. Rejoindre table avec sql
- 17. table SQL Append requêtes
- 18. Agrégation d'une table SQL
- 19. Table Cloisonnement serveur SQL
- 20. sql table view problem
- 21. SQL - table alias scope
- 22. SQL Create Table Error
- 23. Normaliser table SQL
- 24. chaîne Copier pointeur vers pointeur
- 25. Problème de pointeur au pointeur
- 26. pointeurs partagés: pointeur vers pointeur
- 27. SQL Server - Table dynamique PIVOT - Injection SQL
- 28. Synchronisation des index de la table du pointeur de fonction au contenu de la table
- 29. Arithmétique du pointeur sur le pointeur du pointeur (* argv [])?
- 30. requête Sql à alter table
Valide, mais risqué: http://xkcd.com/327/ –