SQL Server - Ayuda con funcion

 
Vista:

Ayuda con funcion

Publicado por Carlos Reyes (49 intervenciones) el 06/03/2008 22:37:08
Hola que tal

Veran, tengo una funcion que se supone debe retornar una cadena concatenada con los nombres de las columnas de duna tabla dada y un nombre de columna + el % para encontrar las columnas similares; el problema es en la funcion como tal, ejecuto dicho codigo externo a una funcion y se ejecuta perfectamente concatenando mi cadena como la quiero, pero al ejecutar la funcion unicamente me regresa un caracter. Les pongo el codigo haber si encuentran en donde la estoy regando.

CREATE FUNCTION fun_concatenaNomCols(@tabla VARCHAR(200),@columna VARCHAR(200))
RETURNS VARCHAR
AS
BEGIN
DECLARE @cadRet VARCHAR(2000),
@colNom VARCHAR(200)
SET @cadRet = ''
SET @colNom = ''
DECLARE cols_cur CURSOR FOR
SELECT syscolumns.name FROM sysobjects
LEFT OUTER JOIN syscolumns on sysobjects.id = syscolumns.id
WHERE sysobjects.xtype = 'U'
AND sysobjects.name = @tabla
AND syscolumns.name LIKE @columna + '%'
ORDER BY syscolumns.name

OPEN cols_cur

FETCH NEXT FROM cols_cur
INTO @colNom

WHILE @@FETCH_STATUS = 0
BEGIN
SET @cadRet = @cadRet + @colNom + '+'
FETCH NEXT FROM cols_cur
INTO @colNom

END
CLOSE cols_cur
DEALLOCATE cols_cur

SET @cadRet = LEFT(@cadRet,LEN(@cadRet)-1)
RETURN @cadRet
END

Saludos!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con funcion

Publicado por Carlos Reyes (49 intervenciones) el 06/03/2008 22:45:03
Ya vi en que me equivoque, no especifique el tamaño de la cadena que retorna, asi que me trunca la cadena y me regresa solo un caracter

De cualquier forma si a alguien le sirve, sea bienvenido en utilizar el codigo

Saludos!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con funcion

Publicado por Isaias (3308 intervenciones) el 07/03/2008 03:32:49
Carlos

No se ofenda, pero creo que esta "matando pulgas con TNT", ¿Cual es el objetivo de su funcion?,¿Donde la quiere utilizar?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ayuda con funcion

Publicado por Carlos Reyes (49 intervenciones) el 07/07/2008 16:38:31
Si, suena un poco extraño, pero requeria realizar una migracion de datos desde una tabla que generan dinamicamente para unos cubos mediante un pivot table, por lo que no conozco el nombre como tal de la columna, asi que hice uso de esta funcion para obtener los nombres de las colmnas.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar