StringBuilder sql_statement = new StringBuilder();
sql_statement.Append("sampleStoreproc(null, 1); ");
sql_statement.Append("SELECT 'Y' FROM myTable ");
sql_statement.Append("WHERE column1 = null AND column2 = 1 ");
DataAccessObject.ExecuteReader(
connectionString,
CommandType.Text,
sql_statement.ToString());
它抛出了我错误:
ORA-0090无效的SQL语句
我已经尝试在语句的最后添加;
分号,但是它不起作用。
我复制了整个文本,并将其完美地放入SQL Developer。
答案 0 :(得分:2)
在您的第一条语句中,您正在调用存储过程。更改为:
sql_statement.Append("execute sampleStoreproc(null, 1); ");
此外,建议在最后一行的末尾添加分号。
编辑:尝试将两个语句都放在begin...end;
块中:
sql_statement.Append("begin");
sql_statement.Append(" execute sampleStoreproc(null, 1);");
sql_statement.Append(" SELECT 'Y' FROM myTable");
sql_statement.Append(" WHERE column1 = null AND column2 = 1;");
sql_statement.Append("end;");