-- SELECT * FROM syscolumns WHERE ID = 738101670 --EXEC SYS_TABLA_FICHERO_FMT 'A_MIDAS_COMPLEJOS_PEDIDOS' CREATE PROCEDURE PROC_SYS_TABLA_FICHERO_FMT @TABLA varchar(100) AS DECLARE @nColumnas INT DECLARE @iCOLUMNA INT DECLARE @ID_TABLA INT --DECLARE @TABLA CHAR(200) DECLARE @VERSION CHAR(5) DECLARE @sFILA VARCHAR(500) DECLARE @SEPARADOR CHAR(5) -- *********** VARIABLES PARA LOS CAMPOS DE LA TABLA DECLARE @CAMPO CHAR(150) DECLARE @LONGITUD INT SELECT @VERSION = '8.0' --SELECT @TABLA = 'A_MIDAS_COMPLEJOS_PEDIDOS' SELECT @ID_TABLA = id FROM sysobjects WHERE name = @TABLA SELECT @nColumnas = COUNT(*) FROM SysColumns WHERE id = @ID_TABLA --PRINT @ID_TABLA PRINT @VERSION PRINT @nColumnas -- ******************** CURSOR PARA RECORRER LOS CAMPOS DECLARE RS CURSOR FOR SELECT Name,Length FROM SysColumns WHERE ID = @ID_TABLA OPEN RS SELECT @iCOLUMNA = 1 FETCH NEXT FROM RS INTO @CAMPO,@LONGITUD; WHILE @@FETCH_STATUS = 0 BEGIN IF @iCOLUMNA = @nColumnas SELECT @SEPARADOR = '"\n"' ELSE SELECT @SEPARADOR = '"\t"' SELECT @sFILA = LTRIM(RTRIM(CONVERT(CHAR,@iCOLUMNA))) + CHAR(9) SELECT @sFILA = @sFILA + 'SQLCHAR' + CHAR(9) SELECT @sFILA = @sFILA + '0' + CHAR(9) SELECT @sFILA = @sFILA + LTRIM(RTRIM(CONVERT(CHAR,@LONGITUD))) + CHAR(9) SELECT @sFILA = @sFILA + @SEPARADOR + CHAR(9) SELECT @sFILA = @sFILA + LTRIM(RTRIM(CONVERT(CHAR,@iCOLUMNA))) + CHAR(9) SELECT @sFILA = @sFILA + LTRIM(RTRIM(@CAMPO)) + CHAR(9) SELECT @sFILA = @sFILA + 'Modern_Spanish_CI_AS' PRINT @sFILA --PRINT CONVERT(CHAR,@iCOLUMNA) + CHAR(9) + 'SQLCHAR' 0 50 "\t" 1 CODIGO Modern_Spanish_CI_AS SELECT @iCOLUMNA = @iCOLUMNA + 1 FETCH NEXT FROM RS INTO @CAMPO,@LONGITUD; END CLOSE RS; DEALLOCATE RS;