sql - 如何从 c 执行 DDL?

标签 sql c oracle ddl

全部,

我想执行 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/

相关文章:

Oracle DBMS_LOB.WRITEAPPEND 到 Postgres 的转换

asp.net - 在 SQL Azure 中使用 DataContext.CreateDatabase

sql - 是否已弃用SQL Server时间戳,以及在替换中使用什么?

c - 文件并格式化 c 的替代库

c - C 中的简单 HTTP 服务器 - 如何响应浏览器?

mysql - ORACLE同表两列值匹配时更新语句

sql - 删除重复的 SQL 连接结果

mysql - 从答案表中选择行

从 Linux for windows 交叉编译静态库

sql - 只有 2 个不同值的列索引