Il semble que vous ne pouvez pas comprendre que le point de l'ensemble d'un #table est que:
est temporaire
il existe seulement dans le contexte de la procédure stockée qui crée
il est privé
Therefo re créer un nouveau proc stocké pour "référencer" la # table d'un autre proc, n'est pas une chose raisonnable à tenter. Soit d'écrire un proc stocké complètement indépendant avec son propre #table, ou de changer le proc stocké d'origine de sorte que la table temporaire existe en dehors de son contexte (voir ci-dessous).
Vous devrez sauter à travers les cerceaux, et différents cerceaux pour différentes versions de Sybase, pour obtenir la définition ou les données dans de tels #tables.
- Si vous pouvez attraper le moment lorsque l'un de ces procs stockées est exécuté, et vous avez
sa
privilège, vous pouvez certainement examiner la via DDL SybaseCentral ou tout autre outil DBA.
Si vous effectuez un exercice de documentation, il n'y a pas d'alternative à l'examen du code sproc; Si vous ne le faites pas, vous manquerez des aspects importants du #table qui est enterré dans le code.
Pour les tables temporaires qui sont destinés à partager (.-À-dire exister en dehors du contexte d'une procédure stockée), au lieu de:
CREATE TABLE #my_table ...
utilisation:
CREATE TABLE tempdb..my_table ...
et execute qui en dehors tout proc , avant de compiler les procs.