2009-12-14 6 views

Respuesta

30

Que aún no está implementada según este enlace de Microsoft Connect: Microsoft Connect

+3

[Misma respuesta en 2012] (http://stackoverflow.com/questions/17610446/how-to-view-data-in-table-variables-during-debugging -session-in-ms-sql-managemen) – qdev76

+74

No deje de leer amigos ... ¡excelente respuesta alternativa a continuación! – bendecko

+1

Y aquí estamos en 2016. No mejor. El enlace de Connect tampoco funciona. – dotNET

1

sólo tiene que utilizar la consulta de selección para mostrar la Varialble mesa, donde cada vez que desea comprobar.

http://www.simple-talk.com/sql/learn-sql-server/management-studio-improvements-in-sql-server-2008/

+0

Sí, la mejor y más rápida opción. Simplemente haga esto y resalte y ejecute solo el SQL que desea ejecutar si necesita más control. – Jammin

+2

Utilice la consulta de selección donde, en la ventana de visualización? – Faiz

+0

utilice la selección dentro del procedimiento o cualquier consulta adhoc que esté ejecutando – solairaja

0

he llegado a la conclusión de que esto no es posible sin ningún tipo de plugins.

+0

Vi algunas vistas previas de Visual Studio 2010. Muy sofisticado, complejo y detallado ... y el demostrador no sabía si las tablas temporales se podían ver en modo de depuración. Tal vez cuando sea lanzado, pero no estoy conteniendo la respiración. –

+0

Pero necesito ver las variables de tabla ... – Faiz

249
DECLARE @v XML = (SELECT * FROM <tablename> FOR XML AUTO) 

Inserte la declaración anterior en el punto en el que desea ver el contenido de la tabla. El contenido de la tabla se representará como XML en la ventana de locales, o puede agregar @v a la ventana de relojes.

enter image description here

+5

¡Esto realmente funciona para variables de tabla! –

+2

esto funciona bien –

+1

Este es definitivamente un trabajo que es suficiente para que las tablas pequeñas se presenten como XML. – Faiz

13

Este proyecto https://github.com/FilipDeVos/sp_select tiene un procedimiento almacenado sp_select que permite la selección de una tabla temporal.

Uso:

exec sp_select 'tempDb..#myTempTable' 

Mientras se depura un procedimiento almacenado puede abrir una nueva pestaña y ejecutar este comando para ver el contenido de la tabla temporal.

+5

Ideal para tablas temporales, pero no para variables de tabla – harag

+0

También se cuelga si hay una transacción abierta, por lo que no se usa mucho si se usa una prueba de depuración en un marco como tSQLt que siempre abre una transacción en el comienzo de la prueba. – Nathan

0

SQL Server Profiler 2014 enumera el contenido del parámetro de valor de la tabla. Podría funcionar en versiones anteriores también. Habilitar SP: Iniciando o RPC: evento completado en el grupo de Procedimientos almacenados y columna TextData y cuando hace clic en entrada en el registro, tendrá las instrucciones de inserción para la variable de tabla. Puede copiar el texto y ejecutarlo en Management Studio.

Salida de ejemplo:

declare @p1 dbo.TableType 
insert into @p1 values(N'A',N'B') 
insert into @p1 values(N'C',N'D') 

exec uspWhatever @[email protected] 
5

en el procedimiento almacenado crear una tabla temporal global ## TempTable y escribir una consulta de inserción dentro de su procedimiento almacenado que inserta los datos de la tabla en esta tabla temporal.

Una vez hecho esto, puede verificar el contenido de la tabla temporal abriendo una nueva ventana de consulta. Simplemente use "select * from ## temptable"

1

¿Por qué no simplemente selecciona la tabla y ve la variable de esa manera?

SELECT * FROM @d 
-1

Lo siento chicos, soy un poco tarde a la fiesta, pero para cualquier persona que se topa con esta cuestión en una fecha posterior, he encontrado la manera más fácil de hacer esto en un procedimiento almacenado es de:

  1. Cree una nueva consulta con cualquier parámetro de procedimiento declarado e inicializado en la parte superior.
  2. Pega en el cuerpo de tu procedimiento.
  3. Agregue una buena consulta de selección pasada de moda inmediatamente después de que su variable de tabla se inicialice con datos.
  4. Si 3. no es la última instrucción en el procedimiento, establezca un punto de interrupción en la misma línea, inicie la depuración y continúe directamente hasta su punto de interrupción.
  5. Beneficio !! respuesta

de messi19 debe ser el aceptado uno en mi humilde opinión, ya que es más sencillo que el mío y hace el trabajo más parte del tiempo, pero si eres como yo y tiene una variable de tabla dentro de un bucle que desea para inspeccionar, hace bien el trabajo sin demasiado esfuerzo o con complementos SSMS externos.

Cuestiones relacionadas