[C#]在 C# 中的单个 Oracle 命令中执行多个查询

发布时间: 2017/2/24 3:14:18
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我使用 visual studio 2013 和 oracle 数据库。我想要执行多单在一次创建表查询 oraclecommand 是否有可能?我想之后但不是工作

OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "create table test(name varchar2(50) not null)"+"create table test2(name varchar2(50) not null)"; 
//+ "create table test3(name varchar2(50) not null)"+"create table test3(name varchar2(50) not null)";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();

得到了错误在 cmd.ExecuteNonQuery();

解决方法 1:

为了执行多个命令放在 begin ... end; 块。 DDL 语句 (如 create table ) 运行它们与 execute immediate 。为我工作的这段代码︰

OracleConnection con = new OracleConnection(connectionString);
con.Open();

OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText =
    "begin " +
    "  execute immediate 'create table test1(name varchar2(50) not null)';" +
    "  execute immediate 'create table test2(name varchar2(50) not null)';" +
    "end;";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
con.Close();

更多的信息︰与 Oracle.ODP 执行 SQL 脚本

官方微信
官方QQ群
31647020