Hola sinalocarlos,
Lo que pretendes hacer, se puede y de echo yo lo estoy utilizando en mis aplicaciones.
Te pongo un ejemplo con una tabla temporal, ya tu utilízala como más te guste:
Código SQL
[-]-- Creamos la tabla que contendrán todas las sentencias SQL's
CREATE TABLE #SQLSentencias
(
IDSQLTEXT smallint IDENTITY(1,1)
,SQLTEXT varchar(8000)
)
-- Creo el Indice, me gusta crearlo así
CREATE INDEX PK_IDSQLTEXT ON #SQLSentencias(IDSQLTEXT)
-- Añadir todas las sql's de la aplicación en la BD
INSERT INTO #SQLSentencias(SQLTEXT)
VALUES('SELECT * FROM master..sysobjects')
INSERT INTO #SQLSentencias(SQLTEXT)
VALUES('SELECT * FROM master..sysobjects ORDER BY name')
-- Declaro una variable la cual será la contenedora de la sentencia
DECLARE
@sqlText varchar(8000)
-- Obtengo la primera sentencia y la guardo
SET @sqlText =
(SELECT SQLTEXT FROM #SQLSentencias WHERE IDSQLTEXT = 1)
-- Ejecuto la sentencia
EXEC(@sqlText)
-- Obtengo la segunda sentencia y la guardo
SET @sqlText =
(SELECT SQLTEXT FROM #SQLSentencias WHERE IDSQLTEXT = 2)
-- Ejecuto la sentencia
EXEC(@sqlText)
Espero que te sirva, mas vale tarde, que nunca.
Un saludo.