如何从c执行DDL?

时间:2013-12-12 09:00:42

标签: sql c oracle ddl

全部,

我想执行a DDL(数据定义语言)from C code

有什么方法可以做到这一点?

1 个答案:

答案 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方法,因为它可以更好地控制错误处理。