Execute multiple queries in single Oracle command in C#
In order to execute more than one command put them in begin ... end;
block. And for DDL statements (like create table
) run them with execute immediate
. This code worked for me:
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();
More info: Executing SQL Scripts with Oracle.ODP
Have you tried
cmd.CommandText = "create table test(name varchar2(50) not null);"+"create table test2(name varchar2(50) not null);";