西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

Firebird數(shù)據(jù)庫(火鳥)

3.0.3.32900 綠色最新版
  • Firebird數(shù)據(jù)庫(火鳥)3.0.3.32900 綠色最新版
  • 軟件大小:8.9M
  • 更新時間:2018-03-05 08:41
  • 軟件語言:英文
  • 軟件廠商:
  • 軟件類別:國外軟件 / 免費軟件 / 數(shù)據(jù)庫類
  • 軟件等級:4級
  • 應(yīng)用平臺:WinAll, WinXP
  • 官方網(wǎng)站:http://www.firebirdsql.org/en/start/
  • 應(yīng)用備案:
好評:50%
壞評:50%

軟件介紹

firebird可以說是這個世界上最小的支持存儲過程的數(shù)據(jù)庫。
Firebird是一個跨平臺的關(guān)系數(shù)據(jù)庫系統(tǒng),目前能夠運行在Windows、linux和各種Unix操作系統(tǒng)上,提供了大部分SQL-99標準的功能。它既能作為多用戶環(huán)境下的數(shù)據(jù)庫服務(wù)器運行,也提供嵌入式數(shù)據(jù)庫的實現(xiàn)。

Firebird脫胎于Borland公司的開源版數(shù)據(jù)庫Interbase6.0,是一個完全非商業(yè)化的產(chǎn)品,用C和C++開發(fā)。由于與 interbase的血緣關(guān)系,大部分interbase的開發(fā)工具可以直接應(yīng)用到Firebird開發(fā)中。Firebird使用Mozilla Public License v.1.1許可證發(fā)行。

更新日志:

Firebird 發(fā)布了 3.0 的首個 Alpha 版本,這是 Firebird 下一代的版本。
Firebird 2.5.2 RC1 發(fā)布,主要是一些問題的修復(fù)和少許的改進。

firebird經(jīng)驗總結(jié):

1.自定義函數(shù)問題.Access to UDF library "rfunc.dll" is denied by server administrator
花了很長時間,不明白為何,將rfunc.dll拷到udf目錄,bin目錄,windows\system32目錄都不能解決問題,google一下, 網(wǎng)上有同樣的問題,但沒有解決方案,結(jié)果我重裝了一下firebird就解決了.

2.存儲過程中變量的定義
ms sql存儲過程中無論在哪都可以定義新的變量,但在firebird中,只能在as 與begin之間進行定義.firebird的變量不能用@符號,我將@全部變成a就好了.

3.存儲過程中變量的使用
select @i=count(*) from table1 //ms sql
select count(*) from table1 into :i//firebird引用變量使用冒號

4.嵌入式sql,
firebird支持select * from table exists (select ...) 或 select * from table in (select ...)
但不支持select * from (select * from ...) a,
我是將這類改寫成視圖解決的

5.case語句
mssql 可使用field= case (),但firebbird僅支持case () as field

6.mssql getdate()變成CURRENT_DATE+CURRENT_TIME
select * from snartleave where   dt_starttime<CURRENT_DATE+CURRENT_TIME

select * from snartleave where   dt_starttime<CURRENT_DATE||' ' ||CURRENT_TIME

7.返回數(shù)據(jù)集的存儲過程寫法(firebird寫法有點麻煩)
CREATE PROCEDURE SPVARTST2 (
   VAR_IPTARTNO CHAR(6))
RETURNS (
   VAR_ARTNAME CHAR(10))
AS
begin
for select v_name1 from snart where v_artNo=:var_iptartno into :var_artname do
suspend;
end

8.自動增長字段的使用(autoincrement)
firebird有個發(fā)生器(generator)的東東,在發(fā)生器里記錄值的增長,
再用觸發(fā)器實現(xiàn)
begin
 if (new.i_seqno is null) then
 begin
   NEW.i_seqno = GEN_ID(GEN_T_DB_ARTSEQNO_ID,1);
 end
end
GEN_T_DB_ARTSEQNO_ID就是創(chuàng)建的發(fā)生器,看到?jīng)]有,也就是說不同的表不同的字段可以共用一個發(fā)生器,gen_id相當于 identity,看起來比mssql復(fù)雜,其實也很簡單。

9.發(fā)生器重置mssql里自動增加的字段要重置好像很麻煩,較難控制,
firebird可以這樣(存儲過程中)
agenerator=Gen_ID(GEN_T_DB_ARTSEQNO_ID,Gen_ID(GEN_T_DB_ARTSEQNO_ID,0)*-1+1);
//agenerator是一個整形變量,好像一定要裝gen_id的值符給一個變量才行,不知道有沒有更好的辦法,不用定義一個多余的變量
可參考如下網(wǎng)址:http://www.fingerbird.de/generatorguide_body.htm

10 通過一個表更改另一個表的數(shù)據(jù)
mssql:update table1 set cname=b.cname from table1 a inner join table2 as b where a.id=b.id
firebird:update table1 a set cname=(select cname from table 2 b where b where a.id=b.id)

11.如何選擇前幾條記錄
mssql: select top 10 * from table1
firebird:select first 10 * from table1
IB:select * from table rows 10

12.Firebird存存儲過程中的事務(wù)
在存儲過程 ib/fb 不支持開事務(wù)或者結(jié)束事務(wù)。提交是由調(diào)用者提交的。也就是,fb/ib存儲過程應(yīng)該設(shè)計在一個事務(wù)里。 
在sql server里,存儲過程或以開這樣的事務(wù):
begin trancstion
commit trancstion
但在fb/ib里沒有這樣的事務(wù) ,需要在調(diào)的程序中開事務(wù),如:
pFIBDtbsMain.StartTransaction;
pFIBDtbsMain.Commit;

軟件截圖

Firebird數(shù)據(jù)庫(火鳥) 3.0.3.32900 綠色最新版

其他版本下載

最新評論查看所有(1)條評論 >

第 1 樓 內(nèi)蒙古呼和浩特市 網(wǎng)友 客人 2013/2/27 18:22:34
Firebird,不需打開,好像也打不開,然后運行軟件時會自動加載Firebird,一些表格啊或者其他數(shù)據(jù)從Firebird中存

支持( 0 ) 蓋樓(回復(fù))

發(fā)表評論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(1)條評論 > 字數(shù): 0/500

TOP
軟件下載