SP para executar querys em tabelas

31/05/2007 - 15:40 por Nuno Santos | Informe spam
Holá grupo, estoy con un problemilla, como puedo hacer para ejecutar una
série de querys que estan guardadas en una tabla de mi BD, esto es la SP que
estoy tentando hacer:

CREATE PROCEDURE GetListaValidacoes
@tabela as varchar(50),
)AS


DECLARE @query AS varchar(4000)
SET @query =''

DECLARE @numreg AS int
SET @numreg=0

BEGIN TRAN

DECLARE DEST_cursor1 CURSOR FOR
SELECT Query FROM miTabla WHERE tabela=@tabela

OPEN DEST_cursor1
if (@@error<>0) goto ERROR

FETCH NEXT FROM DEST_cursor1 INTO @query

WHILE (@@FETCH_STATUS <> -1)
BEGIN
EXEC (@query)
IF @numreg=0 /* como tener este valor preenchido en la ejecución de la
query???? */
BEGIN
FETCH NEXT FROM DEST_cursor1 INTO @query
end
ELSE
begin
PRINT @numreg
BREAK
end
end

ERROR:
IF Cursor_Status('local','DEST_cursor1') <> -1
BEGIN
CLOSE DEST_cursor1
DEALLOCATE DEST_cursor1
END
ROLLBACK
RETURN -1
GO
 

Leer las respuestas

#1 Gustavo Larriera (MVP)
31/05/2007 - 18:33 | Informe spam
Cuál es el problema exacto ?

Para saber la cantidad de filas afectadas, usa @@ROWCOUNT


Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.Larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Nuno Santos" wrote:

Holá grupo, estoy con un problemilla, como puedo hacer para ejecutar una
série de querys que estan guardadas en una tabla de mi BD, esto es la SP que
estoy tentando hacer:

CREATE PROCEDURE GetListaValidacoes
@tabela as varchar(50),
)AS


DECLARE @query AS varchar(4000)
SET @query =''

DECLARE @numreg AS int
SET @numreg=0

BEGIN TRAN

DECLARE DEST_cursor1 CURSOR FOR
SELECT Query FROM miTabla WHERE tabela=@tabela

OPEN DEST_cursor1
if (@@error<>0) goto ERROR

FETCH NEXT FROM DEST_cursor1 INTO @query

WHILE (@@FETCH_STATUS <> -1)
BEGIN
EXEC (@query)
IF @numreg=0 /* como tener este valor preenchido en la ejecución de la
query???? */
BEGIN
FETCH NEXT FROM DEST_cursor1 INTO @query
end
ELSE
begin
PRINT @numreg
BREAK
end
end

ERROR:
IF Cursor_Status('local','DEST_cursor1') <> -1
BEGIN
CLOSE DEST_cursor1
DEALLOCATE DEST_cursor1
END
ROLLBACK
RETURN -1
GO




Preguntas similares