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

Firebird數(shù)據(jù)庫(kù)(火鳥(niǎo))

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

軟件介紹

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

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

更新日志:

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

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

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

2.存儲(chǔ)過(guò)程中變量的定義
ms sql存儲(chǔ)過(guò)程中無(wú)論在哪都可以定義新的變量,但在firebird中,只能在as 與begin之間進(jìn)行定義.firebird的變量不能用@符號(hào),我將@全部變成a就好了.

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

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

5.case語(yǔ)句
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.返回?cái)?shù)據(jù)集的存儲(chǔ)過(guò)程寫(xiě)法(firebird寫(xiě)法有點(diǎn)麻煩)
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.自動(dòng)增長(zhǎng)字段的使用(autoincrement)
firebird有個(gè)發(fā)生器(generator)的東東,在發(fā)生器里記錄值的增長(zhǎng),
再用觸發(fā)器實(shí)現(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)]有,也就是說(shuō)不同的表不同的字段可以共用一個(gè)發(fā)生器,gen_id相當(dāng)于 identity,看起來(lái)比mssql復(fù)雜,其實(shí)也很簡(jiǎn)單。

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

10 通過(guò)一個(gè)表更改另一個(gè)表的數(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存存儲(chǔ)過(guò)程中的事務(wù)
在存儲(chǔ)過(guò)程 ib/fb 不支持開(kāi)事務(wù)或者結(jié)束事務(wù)。提交是由調(diào)用者提交的。也就是,fb/ib存儲(chǔ)過(guò)程應(yīng)該設(shè)計(jì)在一個(gè)事務(wù)里。 
在sql server里,存儲(chǔ)過(guò)程或以開(kāi)這樣的事務(wù):
begin trancstion
commit trancstion
但在fb/ib里沒(méi)有這樣的事務(wù) ,需要在調(diào)的程序中開(kāi)事務(wù),如:
pFIBDtbsMain.StartTransaction;
pFIBDtbsMain.Commit;

其他版本下載

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

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

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

發(fā)表評(píng)論

昵稱(chēng):
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(1)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載