当使用嵌入式 SQL 编写 C 程序时(例如:假设创建了一个插入值的表),在前端显示输出表之前如何在后端执行?帮助表示赞赏...!
问问题
72 次
1 回答
0
- SQL 语句嵌入到宿主语言中,例如:C
- 因此,我们有 SQL 语句和 C 语言语句,在这种情况下,SQL 语句嵌入在 C 源代码中。
- 宿主语言代码由宿主编译器编译,嵌入式语言代码首先由嵌入式 SQL 预处理器预处理,预处理器的输出只是 C 代码,即 C 库调用,由 C 编译器编译。
由于我们有像 #include、#define 这样的指令用于 C 预处理器,因此我们几乎没有用于 SQL 嵌入式预处理器的指令,例如:EXEC SQL begin declare section
和EXEC SQL end declare section
EXEC SQL begin declare section;
int cno;
varchar cname[31];
varchar street[31];
int zip;
char phone[13];
EXEC SQL end declare section;
在这里,SQL 嵌入式预处理器转换如下所示:-
/* varchar cname[31]; */
struct {
unsigned short len;
unsigned char arr[31];
} cname;
这只是为了让您了解嵌入式 SQL 的工作原理。更详细的介绍可以参考Oracle-8 Embedded SQL
于 2015-06-16T07:09:27.630 回答