Es scheint, Sie nicht verstehen kann, dass der ganze Sinn eines #table ist, dass:
es nur vorübergehend ist
es existiert nur im Zusammenhang mit dem gespeicherten proc, die es erstellt
es ist privat
Therefo Das Erstellen eines neuen gespeicherten Proc, um die # Tabelle eines anderen Procs zu "referenzieren", ist keine vernünftige Sache zu versuchen. Entweder schreiben Sie eine vollständig unabhängige gespeicherte proc mit eigenen #table, oder ändern Sie die ursprüngliche gespeicherte proc, so dass die temporäre Tabelle existiert außerhalb seines Kontextes (siehe unten).
Sie müssen durch die Rahmen und verschiedene Rahmen für verschiedene Versionen von Sybase springen, um entweder die Definition oder die Daten in solchen #Tabellen zu erhalten.
- Wenn Sie den Moment fangen kann, wenn einer dieser gespeicherten Procs ausgeführt wird, und Sie haben
sa
Privileg, können Sie sicherlich die DDL über SybaseCentral oder anderen DBA-Tool prüfen.
Wenn Sie eine Dokumentationsübung durchführen, gibt es keine Alternative zur Untersuchung des SPROC-Codes. Wenn Sie dies nicht tun, werden Sie wichtige Aspekte der # Tabelle übersehen, die im Code verborgen ist.
Für temporäre Tabellen, die gemeinsam genutzt werden soll (. Dh existieren außerhalb des Kontexts einer gespeicherten proc), statt:
CREATE TABLE #my_table ...
Verwendung:
CREATE TABLE tempdb..my_table ...
und auszuführen, dass außerhalb jede proc , bevor die Procs kompiliert werden.