• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Tipo de dato enumerado en Interbase

    Programado Fijo Cerrado Movido
    Software
    2
    3
    985
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • ForenaitsF
      Forenaits Veteranos HL
      Última edición por

      El título no puede ser más preciso. Estoy a vueltas con la práctica de bases de datos de este año, y pese a que en un principio habíamos optado por usar MySQL, después de crear todas las tablas y FKs nos hemos pasado a Interbase/Firebird porque no hubo manera de que se tragara las claves foráneas el puto mysql.

      Así que, aquí estamos "migrando" todo y andamos con mil problemas. En mysql teníamos definidas varias tuplas con un tipo de datos enumerado (ENUM) pero esto Interbase no lo reconoce. Ahora tengo que crear las tablas y no puedo hacerlo por culpa de ese error ¿qué puedo hacer?

      He buscado y rebuscado y no aparece nada sobre cómo crear tipos enumerados en IB pero estoy seguro de que se puede hacer. Con la opción de crear dominios no veo manera de insertar valores :llorar:

      Os pongo un ejemplo:

      CREATE TABLE "tipo_socio" (
        "nom_tipo_socio" enum('estándar','aqua','VIP','estándar(B)','aqua(B)','VIP(B)') NOT NULL,
        "bono" smallint default 0 NOT NULL, --booleano inicializado a falso
        "precio" double precision NOT NULL,
        PRIMARY KEY  ("nom_tipo_socio"));
      

      ¿ideas?

      1 Respuesta Última respuesta Responder Citar 0
      • A
        Alf17
        Última edición por

        Yo tuve que hacer las practicas de bbdd con interbase. A decir verdad, no me acuerdo mucho de la sintaxis de dicho gestor, pero bucenado entre mis practicas he encontrado esto, que a lo mejor te puede valer:

        CREATE DOMAIN Estado
           AS VARCHAR(15)
           CHECK (VALUE IN ('iniciado', 'presupuestado', 'aceptado', 'rechazado', 'cerrado'));
        
        CREATE TABLE Hoja (
              CodHoja      varchar(8) NOT NULL,
              Fecha        date NOT NULL,
              Hora         time NOT NULL,
              Kilometraje  int,
              Desperfectos varchar(32),
              Estado       Estado,
              Matricula    varchar(8) NOT NULL,
              Registro     varchar(8) NOT NULL,
              Tiempo_coord int
        );
        
        ALTER TABLE Hoja ADD PRIMARY KEY (CodHoja);
        
        

        Un saludo.

        ForenaitsF 1 Respuesta Última respuesta Responder Citar 0
        • ForenaitsF
          Forenaits Veteranos HL @Alf17
          Última edición por

          Voy a probarlo ahora mismo, muchas gracias.

          1 Respuesta Última respuesta Responder Citar 0
          • 1 / 1
          • First post
            Last post

          Foreros conectados [Conectados hoy]

          1 usuarios activos (0 miembros e 1 invitados).
          febesin, pAtO,

          Estadísticas de Hardlimit

          Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
          Somos un total de 34.7k miembros registrados.
          ssaybb ha sido nuestro último fichaje.