W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一個嵌入式 SQL 程序由一種普通編程語言編寫的代碼(在這里是 C)和位于特殊標記的小節(jié)中的 SQL 命令混合組成。要構(gòu)建該程序,源代碼(*.pgc
)首先會通過嵌入式 SQL 預處理器,它會將源代碼轉(zhuǎn)換成一個普通 C 程序(*.c
),并且后來它能夠被一個 C 編譯器所處理(編譯和鏈接詳見第 35.10 節(jié))。轉(zhuǎn)換過的
ECPG 應用會通過嵌入式 SQL 庫(ecpglib)調(diào)用 libpq 庫中的函數(shù),并且與 PostgreSQL 服務器使用普通的前端/后端協(xié)議通信。
嵌入式SQL在為 C 代碼處理SQL命令方面比起其他方法來具有優(yōu)勢。首先,它會搞定向你的C程序變量傳遞或者讀取信息時的繁文縟節(jié)。其次,程序中的 SQL 代碼在編譯時就會被檢查以保證語法正確性。第三,C 中的嵌入式SQL是在 SQL標準中指定的并且受到很多其他SQL數(shù)據(jù)庫系統(tǒng)的支持。PostgreSQL實現(xiàn)被設計為盡可能匹配這個標準,并且通??梢韵鄬θ菀椎匕褳槠渌?SQL 數(shù)據(jù)庫編寫的SQL程序移植到PostgreSQL。
正如已經(jīng)支出的,為嵌入式SQL接口編寫的程序是插入了用于執(zhí)行數(shù)據(jù)庫相關動作的特殊代碼的普通的 C 程序。這種特殊代碼總是具有這樣的形式:
EXEC SQL ...;
這些語句在語法上取代了一個 C 語句。取決于特定的語句,它們可以出現(xiàn)在全局層面或者是一個函數(shù)中。嵌入式 SQL語句遵循普通SQL代碼的大小寫敏感性規(guī)則, 而不是 C 的大小寫敏感性規(guī)則。它們也允許嵌套的 C 風格注釋(SQL 標準的一部分)。 不過,程序的 C 部分遵循 C 的標準不接受嵌套注釋。
下列小節(jié)解釋了所有嵌入式 SQL 語句。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: