我正在尝试将 ~2000 行 Pro*C 程序移植到 C++ (Pro*C++)。它充满了在 SQL 查询中用作主变量的全局变量:
char var1;
char var2;
int execute_query() {
// some code
EXEC SQL SELECT ... INTO :var1
EXEC SQL SELECT ... INTO :var2
// some code
}
但是,code=cpp
在预编译器选项中,该PARSE
选项设置为PARTIAL
,这意味着预编译器仅识别在一个DECLARE
部分中声明的宿主变量。
我可以用声明部分包围全局变量吗?
EXEC SQL BEGIN DECLARE SECTION
char var1;
char var2;
EXEC SQL END DECLARE SECTION
int execute_query() {
// some code
EXEC SQL SELECT ... INTO :var1
EXEC SQL SELECT ... INTO :var2
// some code
}
如果没有,是否有另一种方法可以使预编译器识别全局变量而无需进行大量重构?