Как встроенная программа SQL в C выполняется как в бэкэнде?
Когда программа на C написана с использованием Embedded SQL (например, давайте предположим, что таблица создается со вставленными значениями), как она выполняется в бэкэнде перед отображением выходной таблицы во внешнем интерфейсе? Помощь приветствуется...!
1 ответ
Решение
- Операторы 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