【发布时间】:2019-05-11 11:38:33
【问题描述】:
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 中。
【问题讨论】:
-
Oracle 是否可能允许您在这样的单个语句中执行多个语句?
-
它是一个存储过程,
-
我是 oracle 新手,所以我不知道它是否允许
-
可以批量执行,但需要严格遵守PL/SQL语法规则。例如,第二条指令后没有分号,IIRC 需要将批次放在 BEGIN .... END 中;此外,NULL 比较的习惯用法是
column1 IS NULL而不是column1 = null。
标签: c# .net oracle plsql oracle12c