| PostgreSQL 7.4 文檔 | ||||
|---|---|---|---|---|
| Prev | Fast Backward | Fast Forward | Next | |
這章描寫一種用于 PostgreSQL 的嵌入SQL包。 它與C 和C++一起使用. 這部分是由 Linus Tolke(<linus@epact.se>) 和 Michael Meskes(<meskes@debian.org>)
我們承認,這份文檔相當不完整。但是因為這個接口是標準,所以我們可以 在有關 SQL 的資源裡找到許多額外的信息。
嵌入 SQL 程序主要由一種普通的編程語言代碼組成,在我們這個場合中是 C, 並且在其中與一些特殊標記的段混合。要制作這樣的程序,源代碼首先 經過嵌入的 SQL 預處理器處理,它把源代碼轉換成普通的 C 程序, 然後這個程序可以用 C 編譯工具鏈進行處理。
嵌入的 SQL 相比于其它的從 C 代碼中處理 SQL 命令的優點有幾條。首先,它替你照看那些從你的 C 程序中的變量 中傳來傳去數值的事情。第二,在 C 代碼裡嵌入 SQL 是定義在 SQL 標準裡的,並且被許多其它的 SQL 數據庫支持。 PostgreSQL 的實現被設計成盡可能匹配這個標準,並且 通常可以把為其它 SQL 數據庫書寫的 SQL 移植到 PostgreSQL 中來,反之亦然。
如上所述,為嵌入 SQL 接口寫的程序通常是帶著 插入進來的特殊代碼的 C 程序,這些特殊代碼用于執行與數據庫相關的 動作。這些特殊代碼通常的形式是下面這樣:
EXEC SQL ...;
這些語句語法上佔據 C 語句的位置。根據具體語句的不同,它們可以出現 在全局環境中或者在一個函數裡。嵌入的 SQL 語句遵循 普通 SQL 代碼的大小寫敏感規則,而不是遵循 C 代碼的。
下面的小節都是用來解釋所有的嵌入 SQL 語句的。