亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-用戶手冊-20. 應用 - ecpg

2019-09-08 23:33:32
字體:
來源:轉載
供稿:網友
ecpg
名稱
ecpg ― 嵌入的 SQL C 預處理器 

語法
ecpg [ -v ] [ -t ] [ -I include-path ] [ -o outfile ]  file1 [ file2 ] [ ... ]
輸入
ecpg 接受下面命令行參數: 
-v 
打印版本信息. 
-t 
關閉自動事務模式. 
-I path 
聲明一個附加的包含路徑.缺省是 ., /usr/local/include,Postgres 包含路徑是在編譯時定義的(缺?。?usr/local/pgsql/lib)和 /usr/include. 
-o 
聲明 ecpg 應該把它的所有輸出寫到輸出文件里.如果沒有給出這個選項,則寫到 name.c,假設輸入文件是 name.pgc.如果輸入文件有預期的 .pgc 后綴,那么輸出文件將在輸入文件后附加 .pgc (?不是吧?). 
file 
要處理的文件. 
輸出
ecpg將創建一個文件或者寫到標準輸出(stdout). 
return value 
  
  
  
  

成功完成后,ecpg 給 shell 返回一個 0,如果出錯返回 -1.

描述
ecpg 是一個嵌入的用于Postgres 和 C 語言的 SQL 預編譯器.她使得用嵌入的 SQL 代碼書寫 C 程序成為可能. 
Linus Tolke (又叫 Linus?。海┦恰cpg 最初的作者(直到版本 0.2).Michael Meskes 是目前的 ecpg 的維護人員和作者.Thomas Good 是 ecpg 手冊頁最新版本的作者,這個手冊頁也是這份文檔的基礎.

用法
為編譯預編譯
一個嵌入的 SQL 源文件在編譯前必須做預處理: 
ecpg [ -d ] [ -o file ] file.pgc
這里選項 -d 標志打開調試..pgc 是標識 ecpg 源程序的任意標識. 
你可能需要把預處理輸出重定向到一個文件里.

編譯和鏈接
假設 Postgres 二進制在 /usr/local/pgsql,你將需要象下面這樣編譯和鏈接你的預處理過的源文件: 
gcc -g -I /usr/local/pgsql/include [ -o file ] file.c -L /usr/local/pgsql/lib -lecpg -lpq
語法

預處理器將包含兩個目錄到源文件里: 
#include 
#include 
變量定義
在 ecpg 源程序里的變量定義必須前導: 
EXEC SQL BEGIN DECLARE SECTION;
類似的,變量定義段必須以下面語句結束: 
EXEC SQL END DECLARE SECTION;
注意:在 2.1.0 以前,每個變量都必須在一個獨立的行里.到了 2.1.0,可以在一行里定義多個變量: 
char  foo(16), bar(16);
錯誤控制
SQL 交互部分定義如下: 
EXEC SQL INCLUDE sqlca;
注意:sqlca 是小寫.盡管可以使用 SQL 傳統,也就是說,利用大寫字符來區分嵌入的 SQL 和 C 語句,而 sqlca?。ㄋqlca.h 頭文件)必須小寫.這是因為 EXEC SQL 前綴表明這個 INCLUDE 將被 ecpg 分析.ecpg 區分大小寫地檢查頭文件(SQLCA.h 將不會被找到.)考慮大小寫后,EXEC SQL INCLUDE 還可以包含其他頭文件.
sqlprint 命令和 EXEC SQL WHENEVER 語句一起使用用以打開整個程序的錯誤控制: 
EXEC SQL WHENEVER sqlerror sqlprint;
和 
EXEC SQL WHENEVER not found sqlprint;
注意:這些并不是 EXEC SQL WHENEVER 語句全部用法的例子.其用法的更多的例子可以在 SQL 手冊里找到(例如, `The LAN TIMES Guide to SQL' by Groff and Weinberg).
于數據庫服務器聯接
一種聯接使用下面語句: 
EXEC SQL CONNECT dbname;
這里數據庫名稱沒有用引號引起.在 2.1.0 以前,數據庫的名稱要求被單引號引起. 
在聯接語句里聲明服務器名和端口名也同樣可以.語法時: 

dbname[@server][:port]
或者 
:postgresql://server[:port][/dbname][?options]
查詢
通常,其他應用,如 psql ,可以接受的話SQL 查詢都可以嵌入到你的 C 代碼里.下面是幾個如何做的例子. 
創建表: 

EXEC SQL CREATE TABLE foo (number int4, ascii char(16));
EXEC SQL CREATE UNIQUE index num1 on foo(number);
EXEC SQL COMMIT;
插入: 
EXEC SQL INSERT INTO foo (number, ascii) VALUES (9999, 'doodad');
EXEC SQL COMMIT;
刪除: 
EXEC SQL DELETE FROM foo WHERE number = 9999;
EXEC SQL COMMIT;
單字段選擇: 
EXEC SQL SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';
使用游標選擇: 
EXEC SQL DECLARE foo_bar CURSOR FOR
    SELECT number, ascii FROM foo
    ORDER BY ascii;
EXEC SQL FETCH foo_bar INTO :FooBar, DooDad;
...
EXEC SQL CLOSE foo_bar;
EXEC SQL COMMIT;
更新: 
EXEC SQL UPDATE foo
    SET ascii = 'foobar'
    WHERE number = 9999;
EXEC SQL COMMIT;
注意
沒有 EXEC SQL PREPARE 語句. 
所有結構定義必須列在定義節里面. 

參閱源文件里的 TODO 文件獲取更多缺失特性的描述.
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲日韩欧美视频| 精品欧美一区二区三区| 国产精品美腿一区在线看| 欧美激情视频一区二区| 91国产在线精品| 亚洲欧美国产日韩天堂区| 日韩精品在线观看网站| 热门国产精品亚洲第一区在线| 日韩人体视频一二区| 日本精品免费一区二区三区| 亚洲国产精彩中文乱码av在线播放| 欧美日韩亚洲系列| 午夜精品福利在线观看| 久久久久久香蕉网| 国模gogo一区二区大胆私拍| 日产精品99久久久久久| 精品偷拍一区二区三区在线看| 精品中文视频在线| 国产成+人+综合+亚洲欧洲| 国产视频精品自拍| 欧美大奶子在线| 亚洲国产美女精品久久久久∴| 欧美精品一区三区| 日本精品在线视频| 亚洲国产精品va在看黑人| 日本精品中文字幕| 中文字幕在线视频日韩| 伊人一区二区三区久久精品| 国产手机视频精品| 久久久日本电影| 亚洲人a成www在线影院| 欧美精品第一页在线播放| 国产精品偷伦一区二区| 精品亚洲一区二区三区四区五区| 91性高湖久久久久久久久_久久99| 亚洲精品一区二区三区婷婷月| 欧美性xxxx在线播放| 精品亚洲精品福利线在观看| 亚洲精品自拍视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久精品一本久久99精品| 精品呦交小u女在线| 深夜福利一区二区| 国产精品美女主播| 成人网页在线免费观看| 久久视频这里只有精品| 欧美高清视频在线| 亚洲国产欧美一区| 亚洲第一精品自拍| 色妞一区二区三区| 亚洲美女av在线播放| 国产精品一区电影| 亚洲bt欧美bt日本bt| 国产成人一区二区三区| 国产一区二区三区在线看| 亚洲影视九九影院在线观看| 国产美女精品视频| 久久久午夜视频| 高清欧美性猛交xxxx黑人猛交| 国内精品伊人久久| 亚洲欧美一区二区三区情侣bbw| 国产精品高潮粉嫩av| 成人网在线免费看| 最好看的2019年中文视频| 欧美视频二区36p| 亚洲爱爱爱爱爱| 亚洲欧美国产一区二区三区| 亚洲最大的网站| 欧美日韩福利在线观看| 精品久久久久久中文字幕| 欧美黑人巨大精品一区二区| 亚洲国产高清自拍| 欧美黄色片免费观看| 国产精品盗摄久久久| 57pao成人国产永久免费| 欧美日韩国产精品一区二区不卡中文| 久久人人看视频| 久久久久国产精品免费网站| 91产国在线观看动作片喷水| 国产亚洲免费的视频看| 不卡av电影院| 国产自产女人91一区在线观看| 亚洲性无码av在线| 成人在线播放av| 中文字幕日本精品| 国产欧美日韩亚洲精品| 色偷偷av亚洲男人的天堂| 亚洲一区二区三区sesese| 中文字幕国产精品久久| 成人黄色av免费在线观看| 亚洲肉体裸体xxxx137| 中文字幕亚洲一区二区三区| 久久伊人91精品综合网站| 日韩av大片免费看| 国产日产欧美a一级在线| xxxx欧美18另类的高清| 狠狠躁夜夜躁人人爽超碰91| 欧美日韩亚洲91| 丝袜一区二区三区| 91精品久久久久久久久不口人| 欧美xxxx18国产| 日韩a**中文字幕| 美女av一区二区| 亚洲欧洲国产一区| 91国产视频在线| 深夜福利一区二区| 日韩中文字幕视频在线| 精品久久久香蕉免费精品视频| 精品五月天久久| 久久精品色欧美aⅴ一区二区| 热久久免费视频精品| 欧美日韩裸体免费视频| 亚洲国产精品99| 国产成人精品久久久| 91免费视频网站| 深夜精品寂寞黄网站在线观看| 亚洲第一区中文99精品| 成人国内精品久久久久一区| 成人精品视频在线| 亚洲国产精品人久久电影| 亚洲国产一区二区三区四区| 日韩在线视频线视频免费网站| 国产精品第三页| 久久影视电视剧凤归四时歌| 精品国产一区二区三区久久狼黑人| 日韩性xxxx爱| 国产色婷婷国产综合在线理论片a| 国产精品视频xxxx| 国产成人福利视频| 欧美精品18videosex性欧美| 国产精品成人国产乱一区| 亚洲国产天堂久久综合| 日韩在线欧美在线国产在线| 欧美亚洲国产视频| 伊人久久男人天堂| 日韩美女中文字幕| 九九久久国产精品| 欧美大学生性色视频| 精品av在线播放| 久久视频免费观看| 91在线观看免费观看| 午夜剧场成人观在线视频免费观看| 97久久伊人激情网| 亚洲成人黄色在线| 狠狠综合久久av一区二区小说| 国产精品27p| 国产精品老女人精品视频| 国产91精品视频在线观看| 午夜精品久久久久久99热软件| 国产精品你懂得| 91国产美女在线观看| 亚洲精品欧美一区二区三区| 日韩色av导航| 亚洲精品视频在线观看视频| 欧美日韩在线视频一区二区| 91色视频在线观看| 亚洲国产精品福利| 亚洲国产小视频| 欧美激情在线观看视频| 91高清免费视频| 欧美视频在线观看免费| 91亚洲精品久久久| 一本一本久久a久久精品综合小说| 精品毛片网大全|