全部,
我想执行a DDL
(数据定义语言)from C code
。
有什么方法可以做到这一点?
答案 0 :(得分:2)
一种选择是使用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方法,因为它可以更好地控制错误处理。