Академический Документы
Профессиональный Документы
Культура Документы
);
Arrancar isql
Para crear una base de datos en forma interactiva usando la interfaz de comandos de isql, se debe trabajar
en el servidor. Posicione una terminal de comandos en el subdirectorio bin y arranque isql como sigue:
1
C:\Archivos de programa\Firebird\Firebird_1_5\bin>isql
Use CONNECT or CREATE DATABASE to specify a database
Para verificar que realmente hay una base de datos ah, escriba esta consulta:
SQL>SELECT * FROM RDB$RELATIONS;
La pantalla se llenar con una gran cantidad de datos! Esta consulta selecciona todas las filas de la tabla
de sistema adonde Firebird almacena los metadatos para las tablas. Una base de datos vaca no est
vaca -contiene una base de datos que ser completada con metadatos a medida que Ud. cree objetos en
ella.
Crear ForeKey
CREATE DOMAIN D_IDENTIFICADOR AS BIGINT;
CREATE DOMAIN D_CHAR3 AS CHAR(3);
CREATE DOMAIN D_FECHA2010 AS DATE CHECK (VALUE >= '01-01-2010');
ALTER TABLE MOVIMCAB ADD CONSTRAINT FK_MOVIMCAB FOREIGN KEY (MVC_IDECLI) REFERENCES
CLIENTES(CLI_IDENTI);
2
);
set term ^ ;
CREATE TRIGGER t1_autoincrement_ID FOR mitabla
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
if (NEW.idMitabla is NULL OR NEW.idMitabla = 0) then NEW.idMitabla = GEN_ID(gen_mitabla_id, 1);
END ^
set term ; ^
3
SUM( DESCRIPCION: Devuelve la suma de los valores del campo seleccionado.
campo ) EJEMPLO:
Select cod_cliente,sum(ventas) from ARTICULOS
CONDICIONALES
CASE DESCRIPCION: Devuelve un valor de un nmero de posibilidades.
WHEN CASE SIMPLE.
condicin EJEMPLO:
then Select name
resultado ,
[WHEN...]
edat,
[ELSE
resultado case upper(sexo)
] END when 'H' then 'Hombre'
when 'm' then 'Mujer'
else 'Unknown'
end,
religion
from personas
CASE DESCRIPCION: Devuelve un valor de un nmero de posibilidades.
condicin CASE CONDICIONAL.
EJEMPLO:
WHEN CanVote = case
valor
when Age >= 18 then 'Yes'
THEN
resultado when Age < 18 then 'No'
[WHEN else 'Unsure'
...]
end;
[ELSE
resultado
] END
-- Devuelve 48
FUNCIONAL EN: DSQL, PSQL
AGREGADA EN: Versin Firebird 2.0
MODIFICADA EN: Versin Firebird 2.1
4
CHAR_LE DESCRIPCION: Devuelve la longitud de caracteres de la cadena de entrada.
NGTH TIPO RESULTADO: Integer
(STR) EJEMPLO:
-- Devuelve 6
FUNCIONAL EN: DSQL, PSQL
AGREGADA EN: Versin Firebird 2.0
MODIFICADA EN: Versin Firebird 2.1
OCTET_LE DESCRIPCION: Devuelve la longitud en bytes (octetos) de la cadena de entrada.
NGTH (ST TIPO RESULTADO: Integer
R) EJEMPLO:
select octet_length('Hello!') from rdb$database
-- Devuelve 6
FUNCIONAL EN: DSQL, PSQL
AGREGADA EN: Versin Firebird 2.0
MODIFICADA EN: Versin Firebird 2.1
DESCRIPCION: Recupera cualquier secuencia de caracteres de una cadena.
SUBSTRIN TIPO RESULTADO: VARCHAR (n) o BLOB
G(str FRO EJEMPLO:
M startpo
s [FOR len SUBSTRING('FIREBIRD' FROM 2 FOR 1) 'I'
gth])
SUBSTRING('FIREBIRD' FROM 2 FOR 2) 'IR'
SUBSTRING('FIREBIRD' FROM 1 FOR 3) 'FIR'
FUNCIONAL EN: DSQL, PSQL
AGREGADA EN: Versin Firebird 1.0
MODIFICADA EN: Versin Firebird 2.0 y 2.1
5
head
and/or
tail.
Default is
' ' (space).
LOWER ( DESCRIPCION: Convierte una cadena en minusculas.
STR ) TIPO DE RESULTADO: (VAR) CHAR o BLOB
EJEMPLO:
SELECT codigo,LOWER(Nombre) from usuarios
FUNCIONAL EN: DSQL, ESQL, PSQL
AGREGADA EN: Versin Firebird 2.0
MODIFICADA EN: Versin Firebird 2.1
UPPER DESCRIPCION: Convierte una cadena en maysculas.
(STR) TIPO DE RESULTADO: (VAR) CHAR o BLOB
EJEMPLO:
SELECT codigo,Upper(Nombre) from usuarios
FUNCIONAL EN: DSQL, ESQL, PSQL
AGREGADA EN: IB
MODIFICADA EN: Versin Firebird 2.0 y 2.1
OTROS
CAST ( DESCRIPCION: Se usa para convertir un tipo de datos en otro dentro de una instruccin
expressio SELECT, por lo general en la clusula WHERE, para comparar los diferentes tipos de
n AS { datos.
datatype Atencin!. Hay diferencias entre los Dialectos 1 y 3 de Firebird.
| [TYPE TIPO RESULTADO: El elegido por el usuario.
OF] EJEMPLO:
domain }) SELECT CAST('NOW' AS TIMESTAMP) AS TIME_FINISHED FROM RDB$DATABASE
FUNCIONAL EN: DSQL, ESQL, PSQL
AGREGADA EN: IB
MODIFICADA EN: Versin Firebird 2.0 y 2.1
EXTRACT DESCRIPCION:Devuelve una variedad de elementos extrados mediante la
( FROM ) descodificacin de los campos de tipo fecha / hora. Puede funcionar en los dialectos 1 y
::= YEAR 3.
| MONTH TIPO RESULTADO: smallint o numrico
| WEEK | EJEMPLO:
DAY SELECT
| WEE
KDAY |
YEARDAY IRST_NAME ||' '||LAST_NAME AS FULL_NAME,
| HOUR |
MINUTE
EXTRACT(MONTH FROM DATE_OF_BIRTH)||'/'||EXTRACT (DAY FROM DATE_OF_BIRTH)
| SECON
D|
MILLISEC AS BIRTHDAY
OND
::= a
DATE, ROM MEMBERSHIP
TIME or
TIMESTA WHERE FIRST_NAME IS NOT NULL AND LAST_NAME IS NOT NULL
MP expr
ession
SELECT
6
EXTRACT(MONTH FROM DATE_OF_BIRTH)||'/'||EXTRACT (DAY FROM DATE_OF_BIRTH)
AS BIRTHDAY
FROM MEMBERSHIP
ORDER BY 2;
FUNCIONAL EN: DSQL, ESQL, PSQL
AGREGADA EN: IB 6
MODIFICADA EN: Versin Firebird 2.1
VARIABLES DEL SISTEMA
CURRENT DESCRIPCION: Devuelve el identificador de la conexin en curso.
_CONNEC TIPO RESULTADO: Integer
TION EJEMPLO:
7
AMP [( una precisin efectiva de 0 decimales. Ahora usted puede especificar una precisin
precision personalizada. El valor predeterminado es an 0 decimales, es decir, segundo de
)] precisin.
precision TIPO RESULTADO: TIMESTAMP
::= 0 | 1 | EJEMPLO:
2|3
select current_timestamp from rdb$database -- returns e.g. 2008-08-13 14:20:19.6170
New.Txn_ID = current_transaction;
FUNCIONAL EN: DSQL, PSQL
MODIFICADA EN: Versin Firebird 2.5
CURRENT DESCRIPCION: Devuelve el nombre del usuario conectado actualmente. Es totalmente
_USER equivalente al usuario.
TIPO RESULTADO: VARCHAR(31)
EJEMPLO:
8
FUNCIONAL EN: PSQL, triggers only
MODIFICADA EN: Versin Firebird 1.5 y 2.0
OLD DESCRIPCION: OLD contiene la versin existente de un registro de base de datos justo
antes de un borrado o actualizacin. A partir de Firebird 2.0 es de slo lectura.
TIPO RESULTADO: Data row
FUNCIONAL EN: PSQL, triggers only
MODIFICADA EN: Versin Firebird 1.5 y 2.0
'NOW' DESCRIPCION: 'NOW' no es una variable sino una cadena literal. Es, sin embargo,
especial en el sentido de que cuando CAST () a una fecha y tipo de tiempo, obtendr la
fecha actual y / o tiempo. La parte fraccionaria de la poca solan ser siempre ".0000",
dando una precisin eficaz segundos. En Firebird 2.0, la precisin es de 3 decimales, es
decir, milsimas de segundo. "Ahora" es entre maysculas y minsculas, y el motor
ignora espacios iniciales o finales cuando se lanza.
TIPO RESULTADO: CHAR(3).
EJEMPLO:
update Figures set Number = 0 where id = :id; if (row_count = 0) then insert intoFigures
(id, Number) values (:id, 0);
FUNCIONAL EN: PSQL
AGREGADA EN: Versin Firebird 1.5
MODIFICADA EN: Versin Firebird 2.0
SQLCODE DESCRIPCION: Manejando un bloque WHEN SQLCODE, la variable de contexto SQLCODE
contiene el cdigo SQL actual de error. Lo mismo es TRUE en un bloque WHEN ANY si su
ejecucin fue provocada por un error de SQL, de lo contrario contiene 0. SQLCODE
tambin es 0 en WHEN GDSCODE y WHEN EXCEPTION, as como en cualquier otro lugar
en PSQL.
TIPO RESULTADO: INTEGER
EJEMPLO:
when any do begin if (sqlcode <> 0) then Msg = 'An SQL error occurred!'; else Msg
='Something bad happened!'; exception ex_custom Msg; end
FUNCIONAL EN: PSQL
AGREGADA EN: Versin Firebird 1.5
9
UPDATIN DESCRIPCION: Disponible slo en triggers, actualizando indica si se esta realizando un
G operacion de actualizacion en ese momento.Para uso en accin de mltiples factores
desencadenantes.
TIPO RESULTADO: BOOLEAN
EJEMPLO:
_____________________________________________________________________________
_______
MATEMATICAS
10
AGREGADA EN: Versin Firebird 2.1
11
12