Skip to content

Instantly share code, notes, and snippets.

@cdesch
Last active March 11, 2020 17:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cdesch/fe6fc068642265e26aaa8c5f71e9f9d2 to your computer and use it in GitHub Desktop.
Save cdesch/fe6fc068642265e26aaa8c5f71e9f9d2 to your computer and use it in GitHub Desktop.
FireBird Issue DNET-931 - SQL Script
/* http://tracker.firebirdsql.org/browse/DNET-931 */
/* Script */
CREATE DATABASE 'C:\data\demo.fdb' page_size 8192
user 'SYSDBA' password 'masterkey';
CONNECT "C:\data\demo.fdb"
user 'SYSDBA' password 'masterkey';
create table demo (id int primary key, foobar varchar(20) character set utf8);
insert into demo values (6, 'FooBar');
set term !! ;
CREATE TRIGGER NEW_DEMO_RECORD_TRIGGER FOR demo
ACTIVE before insert
AS BEGIN
IF (inserting) THEN
BEGIN
new.foobar = 'NewFoobar';
POST_EVENT 'NEWFOOBARD_POSTEVENT';
END
END!!
set term ; !!
insert into demo values (7, 'FooBar');
select * from demo;
insert into demo values (8, 'FooBar');
/* Results */
Use CONNECT or CREATE DATABASE to specify a database
SQL> CREATE DATABASE 'C:\data\demo.fdb' page_size 8192
CON> user 'SYSDBA' password 'masterkey';
SQL> CONNECT "C:\data\demo.fdb"
CON> user 'SYSDBA' password 'masterkey';
Commit current transaction (y/n)?y
Committing.
Database: "C:\data\demo.fdb", User: SYSDBA
SQL> create table demo (id int primary key, foobar varchar(20) character set utf8);
SQL> insert into demo values (6, 'FooBar');
SQL> commit;
SQL>
SQL> set term !! ;
SQL> CREATE TRIGGER NEW_DEMO_RECORD_TRIGGER FOR demo
CON> ACTIVE before insert
CON> AS BEGIN
CON> IF (inserting) THEN
CON> BEGIN
CON> new.foobar = 'NewFoobar';
CON> POST_EVENT 'NEWFOOBARD_POSTEVENT';
CON> END
CON> END!!
SQL> set term ; !!
SQL> insert into demo values (7, 'FooBar');
SQL> select * from demo;
ID FOOBAR
============ ===============================================================================
6 FooBar
7 NewFoobar
SQL> insert into demo values (8, 'FooBar');
SQL> commit;
SQL> select * from demo;
ID FOOBAR
============ ===============================================================================
6 FooBar
7 NewFoobar
8 NewFoobar
SQL>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment