Firebird

From Andreida
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Users

Passwords are case sensitive, user names are not case sensitive.


default user: sysdba / masterkey

change the password for sysdba

gsec -user sysdba -password masterkey
modify SYSDBA -pw <new_password>

add user

gsec -user sysdba -pass <password> -add misterx -pw hispw

Connecting

isql -user sysdba -password <password>
connect <path-to-db-file>;
help;

database

  • exit = commit
  • quit = rollback

create a database

isql -u <user> -p <password>
create database <name>;
exit;
isql -u misterx -p hispw
create database 'test01';
exit;

create a table

isql -u <user> -p <password> <filename>
isql -u misterx -p hispw test01
create table tas_tasks
(
    tas_id integer not null,
    tas_text varchar(50) not null,
    tas_creation timestamp not null
);

make the integer field of your table an autoincrement field

CREATE GENERATOR gen_tas_id;
SET GENERATOR gen_tas_id TO 0;

set term !! ;
CREATE TRIGGER T_tas_auto FOR tas_tasks
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
if (NEW.tas_id is NULL) then NEW.tas_id = GEN_ID(gen_tas_id, 1);
END!!
set term ; !!

to test it, call at least twice:

insert into tas_tasks
(tas_text, tas_creation)
values
('test 1', current_timestamp);

then

select * from tas_tasks;

populate the timestamp at row insertion and/or update

SET TERM ^ ;
CREATE TRIGGER T_tas_create FOR tas_tasks
ACTIVE BEFORE INSERT -- OR UPDATE POSITION 1
AS
BEGIN
new.TAS_CREATION = current_timestamp;
END^
SET TERM ; ^ 

call at least twice:

insert into tas_tasks (tas_text) values ('test 2');

then again

select * from tas_tasks;