全部,
我想执行 DDL
(数据定义语言)来自 C 代码
。
执行此操作的替代方法是什么?
最佳答案
一种选择是使用 dynamic ESQL with PRO*C :
EXEC SQL EXECUTE IMMEDIATE
"CREATE TABLE dyn1 (col1 VARCHAR2(4))";
另一种选择是使用system
来运行SQL*Plus。
在 Linux 类型的系统上,它可能看起来像这样:
<write sql command(s) to sql file>
system("cat mycommands.sql | sqlplus dbuser/password@myDatabase");
或者这个:
system("echo 'drop table myTable' | sqlplus dbuser/password@myDatabase");
如果您已经在使用 PRO*C,我会推荐 PRO*C 方法,因为它可以更好地控制错误处理。
关于sql - 如何从 c 执行 DDL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20539024/