你在 C 程序里面用一些特殊的 SQL 东西来编写程序. 如果是定义那些可以在 SQL 语句里面使用的变量, 你得把它们放到一个特殊的定义段里面. 你必须用一些特殊的语法来表达 SQL 查询.
在编译之前,你用嵌入的 SQL C 预编译器对你的文件进行预处理, 由这个预编译器把你使用的 SQL 语句转换成以 变量作为参数的函数调用. 不管是作为输入到 SQL 语句里面的变量还是将包含返回结果的变量都被传到函数调用里.
然后你编译你的程序,在链接时, 你的程序会与一个包含所用函数的特殊的库链接. 这些函数(实际上大多是一个单一的函数)从参数里取得信息,用通常的方法 (libpq)执行 SQL 查询并且把结果放回到声明为输出的参数里.
当你的程序运行到 SQL 语句时,SQL 语句对数据库进行操作因而你可以对结果进行继续处理.