我试图使用SQL API在Pro * C中删除任意表。但Oracle无法识别主机变量:
char sqlcode[1024];
char table[10];
printf("Enter the table name: ");
scanf("%s", table); // Store table name
strcpy(sqlcode, "drop table :table"); // Create sql statement
exec sql prepare dropTable from :sqlcode;
exec sql execute dropTable using :table;
导致错误:
ORA-00903: invalid table name
这里发生了什么?是的,假设表存在。