优惠吧 猪八戒威客网

用Marathon管理Firebird数据库(2)

使用Marathon创建表可以通过可视化的界面来完成,但要创建视图就不像使用SQL Server 2000企业管理器创建视图那样方便了,而是要通过编写SQL语句来完成,这就要求我们必须对标准的SQL语言掌握的很好。

下面是创建一个视图的SQL语句
    create view V_2 (F1,F2,F3,F4,F5)
    as
    select T_1.C1,T_1.C2,T_1.C3,T_2.C1,T_2.C3 from T_1,T_2
    where T_1.C1=T_2.C2

在SQL Server 2000中编写触发器时,inserted和deleted是会被经常用到的,而在Firebird中它们变成了new和old。还有一点与SQL Server 2000不同的是Firebird将触发器分成了六种(before insert,after insert,before update,after update,before delete,after delete),这样我们在编写Firebird触发器时就可以更加自如的控制触发器执行的时间了。

下面是一个简单的after insert触发器
    create trigger TR_1 for T_1 active after insert position 0
    as
    begin
        insert into T_2 values((select max(C1) from T_2)+1,new.C1,new.C3);
    end
 
接下来,我们看看Firebird中的存储过程
    create procedure SP_1_ADD (
                     F1 integer,
                     F2 date,
                     F3 varchar(40) character set GB_2312)
    as
    begin
        insert into T_1 values(? /* F1 */ ,? /* F2 */ ,? /* F3 */ );
    end
这是一个简单的插入记录的存储过程。它与我们在SQL Server中创建的存储过程有着很大的区别,首先是在存储过程参数的声明上,其次是在使用参数的时候,Firebird数据库使用的是占位符?。

posted on 2005-07-08 09:44  YiStudio  阅读(1011)  评论(0编辑  收藏  举报