miércoles, 22 de abril de 2009

Matrices en tsql

Como siempre las dudas surgen trabajando y se me planteo la necesidad de implementar una tabla temporal, tsql incorpora dos tipos de tablas. Una que es especifica del procedimiento en curso y otra que se genera en base de datos y se puede compartir en los diferentes procedimientos de los que dispongamos.

La utilización de cualquiera de estas dos opciones, dependerá de la necesidades del desarrollador.

No soy nada partidario de hacer tablas temporales físicas, así que de momento no os lo explicare ;) ya se... es que tengo mis manías.

Así que os explicare las tablas temporales, cuyo ciclo de vida solo corresponde a el procedimiento en curso.

  1. Primero declararemos la tabla, se declara igual que otras variables pero definiendo los campos de dicha tabla y se hará de la siguiente forma DECLARE @PRUEBA TABLA (CAMPO1 INT, CAMPO2 VARCHAR(20))
  2. Se usa exactamente igual que cualquier tabla fisica de base de datos, podemos hacer inserts, updates o deletes ej: INSERT INTO @PRUEBA (CAMPO1, CAMPO2) VALUES(1,'CAMPO') o SELECT * FROM @PRUEBA
  3. No es necesario destruir la tabla, como he comentado el ciclo de vida solo corresponde al procedimiento en curso.

No hay comentarios:

Publicar un comentario