CREATE PROCEDURE TablaPlana AS
DECLARE @VarCreatblPlana CHAR(4000)
DECLARE @VarNombreCampo CHAR(15)
DECLARE @VarNumCampos INT
DECLARE @VarCodAbiertas INT
DECLARE ListaVar CURSOR FOR
SELECT P.TexNPreg, C.CodNCamp, C.CodAbier FROM tblCtrol AS C
INNER JOIN tblPregu AS P ON C.CodPregu = P.CodPregu
OPEN ListaVar
FETCH NEXT FROM ListaVar
INTO @VarNombreCampo, @VarNumCampos, @VarCodAbiertas
WHILE @@FETCH_STATUS = 0
BEGIN
IF @VarCodAbiertas IS NOT NULL AND @VarCodAbiertas > 0
SET @VarCreatblPlana = @VarCreatblPlana + @VarNombreCampo + "CHAR
(255)"
ELSE
SET @VarCreatblPlana = @VarCreatblPlana + @VarNombreCampo + "INT"
/*ENDIF*/
FETCH NEXT FROM ListaVar INTO @VarNombreCampo, @VarNumCampos,
@VarCodAbiertas
END
PRINT @VarCreatblPlana
SET @VarCreatblPlana = "CREATE TABLE tblPlana ("+ @VarCreatblPlana
+")"
EXEC (@VarCreatblPlana)
CLOSE ListaVar
DEALLOCATE ListaVar
GO
When I execute this SP only the first time do something. After if I
execute don't do anything. Someone know because this it happens????
Tanks