操作符

下面的列表给出了逻辑操作和等于操作在C和SQL下的不同表示。这些C操作符不能在SQL中使用。

SQL操作符 C操作符
NOT !
AND &&
OR ||
= ==

除此之外,下面的操作符也不允许在SQL语句中使用(下表中的操作符之间的逗号是分隔符):

类型 C操作符
地址符 &
位操作 &, |, ^, ~
复合运算 +=, -= , *= 等
条件运算 ?:
递减 --
递增 ++
模余 %
移位 >>, <<

条件编译

条件编译指令可以根据不同的条件使程序执行不同的代码。比如在LINUX平台下,我们可能需要包含代码段A,而在WINDOWS下,可能需要包含代码段B。利用条件编译指令,可以对于不同的平台有更好的兼容性。

下面给出嵌入式SQL中的条件预编译指令:

EXEC SQL DEFINE symbol;

EXEC SQL IFDEF symbol;

EXEC SQL IFNDEF symbol;

EXEC SQL ELIF symbol;

EXEC SQL ELSE ;

EXEC SQL ENDIF;

利用上述的条件预编译指令可以在预编译时决定编译哪一部分代码,从而控制预编译的流程。它们的含义和 C 语言中相应形式的预编译指令含义类似。两者之间的意义关系对比大致如下所示:

EXEC SQL DEFINE symbol; #define symbol

EXEC SQL IFDEF symbol; #ifdef symbol

EXEC SQL IFNDEF symbol; #ifndef symbol

EXEC SQL ELIF symbol; #elif symbol

EXEC SQL ELSE ; #else

EXEC SQL ENDIF; #endif

EXEC SQL IFDEF | EXEC SQL IFNDEF … [EXEC SQL ELIF … ] [EXEC SQL ELSE …] EXEC SQL ENDIF 可以嵌套使用。