Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   tipos de datos en ibexpert (https://www.clubdelphi.com/foros/showthread.php?t=68604)

omitraz 23-06-2010 19:49:05

tipos de datos en ibexpert
 
Buenas tardes.
Soy nueva con bd, no tengo claro los tipos de datos que utiliza ibexpert.
Investigue algunos y lo que encontre es lo siguiente:

1.=smallint: número entero con o sin signo. entero corto entre – 32.768 y 32.767. 2 bytes
2.=integer: Un entero largo entre – 2.147.483.648 y 2.147.483.647.
3.=bigint:8 bytes
4.=float:número pequeño en coma flotante de precisión simple.
5.=double precision:
6.=numeric: es de punto fijo (no flotante)
7.=decimal: numericos de punto flotante (sin límite pra la cantidad de decimales),Single (cuatro bytes) y Double (ocho bytes)
8.=date:
9.=time:
10.=timestamp:Combinación de fecha y hora. El rango va desde el 1 de enero de 1970 al año 2037. El formato de almacenamiento depende del tamaño del campo:

ahora tengo un campo llamado categoria el cual quiero que tenga solo dos valores: L, S, Se podria hacer char "L,S" :confused:...... o como seria. si alguien puede ayudarme muchas gracias.

Caral 23-06-2010 20:08:25

Hola
Creo que podria ser char o varchar.
Saludos

omitraz 23-06-2010 20:32:00

gracias por responder
 
pero como se le asigna el valor: es en valor por defecto, pero me me marca erro. me podria decir como se trabaja en valor por defecto

Casimiro Noteví 23-06-2010 21:11:04

Créate un dominio así:

Código:

CREATE DOMAIN domLS AS CHAR(1)
default 'L' not null
CHECK (VALUE IN ('L',  'S'));

y luego te creas los campos de ese tipo.

omitraz 23-06-2010 21:55:16

Gracias por responder tan rapido
 
porfavor disculpas..... soy lenta.

mira le doy en mi campo doble clik, aparece la ventana "dit file categoria", luego le doy en "dominio nuevo" en esa ventana lleno de la siguiente manera:
nombre:domLS
tipo:CHAR
y en la pestaña "valor por defecto" pego la linea de codigo

default 'L' not null
CHECK (VALUE IN ('L', 'S'));

luego le doy , ok y me sale el siguiente error:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, char 9.
default.

Disculpa porfavor, prodrias decirme como se debe de hacer. porfis

Casimiro Noteví 23-06-2010 22:00:12

Hazlo más sencillo, le das a F12 para abrir la ventana donde escribir sentencias, escribes esto:
Código:

CREATE DOMAIN domLS AS CHAR(1) default 'L' not null CHECK (VALUE IN ('L','S'))
Y pulsas F9 para ejecutarlo. Le das a commit y listo.

Ahora puedes dar de alta tu campo en la tabla, cuando te pida el tipo es cuando le tienes que decir que use el dominio domLS


omitraz 23-06-2010 23:21:03

Muchas gracias
 
me funciono muy bien, muchas gracias, me ayudo mucho.

omitraz 24-06-2010 18:50:38

disculpen tengo otra duda
 
ustedes me dicen si la pongo en otro hilo, esto se puede hacer con un trigger, e leido poco de triggers y e encontrado que:

1. Los triggers no tienen parámetros de entrada. Los únicos valores de entrada con los que puede trabajar son los valores del registro que se insertó/modificó/eliminó.
2. Los triggers no devuelven valores como los procedimientos almacenados. Sólo pueden modificar otras tablas o los mismos valores del registro agregado/modificado (obviamente, el eliminado no).

nunca e realizado un trigger, pero tengo curiosidad, lo anterior que se realizo con dominios, se puede realizar con TRIGGER. Muchas gracias

Casimiro Noteví 24-06-2010 19:06:06

Cita:

Empezado por omitraz (Mensaje 368232)
nunca e realizado un trigger, pero tengo curiosidad, lo anterior que se realizo con dominios, se puede realizar con TRIGGER. Muchas gracias

No.

Un dominio es una especie de "alias" de tipo de campo.
Imagina que tienes unas tablas de clientes, proveedores, vendedores, etc. con sus datos y entre esos datos está el campo "telefono". Puedes crear un dominio:
Código:

create domain telefono as varchar(9)
y todos los campos "telefono" de cada tabla tendrían ese dominio.
Un día la compañía telefónica decide que todos los números de teléfono del país van a tener 12 cifras en lugar de 9. En lugar de ir tabla a tabla modificando el tipo de campo, lo único que tenemos que hacer es modificar el dominio,
Código:

alter domain telefono as varchar(12)
y ya tenemos con sólo cambiar el dominio a todas las tablas con el cambio hecho.

Un trigger se usa normalmente para hacer procesos automáticamente, por ejemplo, cada vez que vendes una mercancía tienes que descontarla del stock del almacén, pues te creas un trigger que cuando se venda un producto, automáticamente, descuente esa cantidad de la tabla stock.
No tienes que hacer tú por código desde delphi, es la propia base de datos la que se encarga de hacerlo automáticamente.

Te aconsejo el libro la cara oculta de delphi, que está muy orientado a bases de datos, es de lo mejorcito que puedes leer sobre todo este tema.

omitraz 24-06-2010 19:36:00

Me aclaro mi duda
 
Muchas gracias Casimiro, por tu ejemplo, estoy descargando el manual para comenzar a leerlo.:D


La franja horaria es GMT +2. Ahora son las 15:49:14.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi