Foros del Web » Programando para Internet » ASP Clásico »

Cuál es la manera habitual de poner campos multivaluados de una base de datos

Estas en el tema de Cuál es la manera habitual de poner campos multivaluados de una base de datos en el foro de ASP Clásico en Foros del Web. Veréis, me gustaría que ciertos campos de una base de datos, se restringieran a ciertos valores específicos, tales como "A, B o C". Esto además ...
  #1 (permalink)  
Antiguo 18/06/2005, 18:42
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
Cuál es la manera habitual de poner campos multivaluados de una base de datos

Veréis, me gustaría que ciertos campos de una base de datos, se restringieran a ciertos valores específicos, tales como "A, B o C". Esto además de que desde el propio gestor de Base de Datos tiene sus complicaciones (que yo sepa, no se puede hacer de forma directa), no evita el problema de luego la programación ASP para mostrar y comprobar esto.

Por tanto, me gustaría hacerlo todo desde ASP, y que el usuario pudiera crearse sus propias tablas indicando si alguno de sus campos van a ser "multivaluados". He pensado en varias opciones, pero antes de decantarme por una, me gustaría saber si hay un "procedimiento habitual" a la hora de tratar este asunto.

Saludos
  #2 (permalink)  
Antiguo 19/06/2005, 01:12
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 8 meses
Puntos: 18
le vas a dar al usuario normal permiso para crear tablas en la base de datos? (o he entendido mal...)
  #3 (permalink)  
Antiguo 20/06/2005, 01:43
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
Sí, eso es . Habrá varios tipos de usuarios, y uno de ellos, con capacidad para crear tablas.
  #4 (permalink)  
Antiguo 21/06/2005, 10:49
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
¿Nadie me ayuda? Al final lo que voy a hacer es crear una tabla donde se guarden los atributos multivaluados, indicando su nombre y dónde localizarlo en un campo o dos (sería la "id"), y en el otro todas las posibles opciones que pueda tener, separadas por comas o similar. Si alguien conoce un modo mejor que me lo diga.
  #5 (permalink)  
Antiguo 21/06/2005, 12:00
Avatar de Neuron_376  
Fecha de Ingreso: abril-2005
Mensajes: 1.051
Antigüedad: 19 años, 1 mes
Puntos: 2
Hola

Para hacer lo que quieres directo en la tabla, puedes usar un Trigger sobre la tabla, el cual dice algo como:

select @var = campoMultivaluado from inserted

if @var <> "A" and @var <> "b".. etc...

return error

Los triggers se ejecutan como TRANS dentro de la tabla cuando haces un update o insert segun lo definas, entonces, lo que hara es sacar un error de update o insercion, la tabla no guardara ningun cambio porque actua como TRANAS, y tu podras recoger el error como:

on error resume next

oConn.Execute("insert into tabla values (x, y, z)"

if rrors.Count > 0 then

strError = oConn.Errors(0).Description

end if

Por otra parte, lo que quieres de hacer que el usuario cree sis propias tablas, etc, pienso que seria que através de un formulario, y en la siguiente necesitas crear solamente el SQL necesario para crear la tabla, pero me parece que es demasiado trabajo, muchísimos casos, etc.

Suerte!!
__________________
NeuronaNet.com... la idea correcta.
http://www.NeuronaNet.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:33.