Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Sustituir valor de un campo en selecc

10 views
Skip to first unread message

José Antonio Muñoz

unread,
Dec 30, 2009, 3:09:47 AM12/30/09
to
Hola al grupo,

Tengo una aplicaci�n realizada con Sql Server y m�ltiples consultas,
triggers, procedimientos almacenados, funciones, etc donde utilizo para una
determinada tabla un campo llamado descripcion_es que almacena la
descripci�n de un art�culo escrita en castellano. Adem�s de este campo
existen otros campos: descripcion_en, descripcion_fr, descripcion_it, etc.
donde se almacena la descripci�n en ingl�s, franc�s, italiano, etc. Las
consultas ya est�n hechas con el campo descripcion_es y en toda la
aplicaci�n se hace referencia a este campo. �Existe alguna manera de crear
un procedimiento almacenado, trigger, etc. en el que pueda reemplazar el
valor del campo descripcion_es por el de otro campo seg�n el idioma? es
decir como si descripcion_es se le agregara dos parentesis y escribiendo la
funcion descripcion_es( ) que devuelve el texto seg�n el idioma seleccionado
para el usuario x, pero sin agregarle los par�ntesis ya que tendr�a que
estar buscando en toda la aplicaci�n ese campo y agregarle los par�ntesis.
(existen cientos de referencias para este campo)

saludos,
Jos� Antonio Mu�oz

Carlos Sacristan

unread,
Dec 30, 2009, 4:01:18 AM12/30/09
to
No creo que sea el dise�o m�s limpio. Mejor me parece tener una tabla de
idiomas y otra de descripciones que tenga una FK con esta de idiomas y otra
FK con la principal. Luego tan s�lo tendr�as que hacer un JOIN, filtrando
por el idioma del usuario y ya tendr�as la descripci�n multiidioma que est�s
buscando

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message
news:edLh%23dSiK...@TK2MSFTNGP02.phx.gbl...

Dani Sánchez

unread,
Dec 30, 2009, 6:48:31 AM12/30/09
to
Hola Jos� Antonio,

Tal y como apunta Carlos Sacrist�n, no creo que sea el mejor dise�o. De
todos modos, prueba esto:

select campo1, campo2,
case campo_idioma
when 1 then campo_descripcion_idioma1
when 2 then campo_descripcion_idioma2
...
end as descripcion_idioma
from tabla where ...

Un saludo,

"Jos� Antonio Mu�oz" <josean...@hotmail.com> escribi� en el mensaje de
noticias:edLh#dSiKH...@TK2MSFTNGP02.phx.gbl...

José Antonio Muñoz

unread,
Dec 30, 2009, 7:15:10 AM12/30/09
to
Gracias por vuestra colaboraci�n, pero creo que he resuelto el problema
creando un campo calculado Desc_es que apunta a una funci�n "Traducir" que
le env�a como par�metro el valor de otro campo de la misma tabla
llamado"descripci�n" (con el texto en castellano) y la funci�n devuelve el
resultado de un determinado campo seg�n el idioma al buscar el texto en
castellano en una tabla, que contiene tantos campos como idiomas disponga la
aplicaci�n.

saludos,
Jos� Antonio Mu�oz

"Dani S�nchez" <gdani...@gmail.com> escribi� en el mensaje de noticias
news:%23gRwFYU...@TK2MSFTNGP02.phx.gbl...

Carlos Sacristan

unread,
Dec 30, 2009, 7:29:34 AM12/30/09
to
�Has probado el rendimiento de eso?

--
-----------------------------
"Caminar sobre el agua y desarrollar software a partir de unas
especificaciones es f�cil, si ambas est�n congeladas."
Edward V. Berard, ingeniero inform�tico


"Jos� Antonio Mu�oz" <josean...@hotmail.com> wrote in message
news:uFNfGnUi...@TK2MSFTNGP02.phx.gbl...

José Antonio Muñoz

unread,
Dec 30, 2009, 8:32:32 AM12/30/09
to
No lo he probado, �por qu� lo preguntas? Si la tabla de idiomas tiene un
�ndice por el campo "Castellano" no creo que eso sea un inconveniente. Esa
tabla podr�a tener entre 10000 y 20000 registros de traducci�n.

Jos� Antonio Mu�oz

"Carlos Sacristan" <nom...@nomail.com> escribi� en el mensaje de noticias
news:O8XFAvUi...@TK2MSFTNGP02.phx.gbl...

0 new messages