![]() |
Actualizar un check
Hola
Como estan todos, tenia varios meses que no venia por aqui debido a unos problemas tecnicos $$$. Ok el caso es que ya estamos aqui para alimentar el foro con preguntas. Quisiera actualizar un Check y no lo logro, estuve leyendo el hilo de subzero y no entiendo bien como fue que lo logro, no entiendo por que usa constraint y cuando intento hacerlo como el lo hizo no me sale. Me gustaria que me expliquen un poco mas detallada la forma que se hace. Muchas Gracias por sus respuestas. |
Que bueno que estás de vuelta pero, ¿realmente piensas que podemos ayudarte con la información que nos das?
¿Qué significa actualizar un Check? ¿Cuál es el hilo de subzero? Habiendo más de 8000 hilos es francamente imposible que recordemos todos. ¿Cómo vamos a saber por qué usa constraint si ni siquiera sabemos a que se refiere con eso ni en que contexto se usó? Detalla más y seguro que algún experto en Interbase podrá resolver tu duda. // Saludos |
Hola.
si no entendi mal tu pregunta creo que esto te puede ayudar estoy ejemplos lo saque "The Dark Side of CppB" en la parte que hable de FireBird create table Detalles ( RefPedido int not null, NumLinea int not null, RefArticulo int not null, Cantidad int default 1 not null, Descuento int default 0 not null, check (Descuento between 0 and 50 or "Marteens Corporation"= (select Nombre from Clientes where Codigo = (select RefCliente from Pedidos where Numero = Detalles.RefPedido))), /* … */ ); Esta cláusula dice, en pocas palabras, que solamente el autor de este libro puede beneficiarse de descuentos superiores al 50%. otro ejemplo create table Pedidos( /* … */ check (Cliente in (select Codigo from Clientes)) ); espero que te ayude |
Dejame explicarme mejor
Okey
Dejame explicarme mejor, yo tengo una tabla que se llama EQUIPOS a su vez esta tiene una columna que se llama ESTATUS definida asi CREATE TABLE EQUIPOS ESTATUS SMALLINT DEFAULT 0 CHECK(ESTATUS = 0 OR ESTATUS =1) Y si, tienes razon no seria actualizar, si no, modificar el check para que me acepte mas valores, yo lo he intentado asi. ALTER TABLE EQUIPOS DROP ESTATUS Y no me deja hacerlo dice ther are 2 dependencies, lo que intento es borrarlo para despues crearlo como yo quiero con mas valores. y al hilo que me referia es a este: http://www.clubdelphi.com/foros/show...ble+drop+check Yo utilizo D6 con IB7 |
Hola cmgenny,
Cuando creas una tabla con restricción de comprobación (clausula check) puedes asociarle un nombre a la restricción. Si no lo haces, Interbase/firebird de manera automática le asigna algún nombre. El caso es que conociendo el nombre de la restricción puedes cambiarla de manera sencilla. Coloco un ejemplo: Código:
CREATE TABLE EQUIPOS( Código:
Si no le colocas nombre a la restricción aún puedes averiguarlo consultando las tablas del sistema (cosa que yo nunca hago :confused: ), o puedes realizar todo lo que requieres utilizando el IBExpert :) . Espero te sirva. Saludos... |
Muhas Gracias
Tenias razon funciono a la perfección, lo que estaba haciendo mal era que no estaba dando el nombre a la constraint que tenia que modificar.
Muchisimas gracias. |
La franja horaria es GMT +2. Ahora son las 07:27:03. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi