【问题标题】:Oracle query multiple delete statements from .NETOracle 从 .NET 查询多个删除语句
【发布时间】:2013-12-05 23:31:21
【问题描述】:

我在 Oracle 中从 .NET (ODP) 执行简单查询时遇到问题:

        const string sql = @"
            delete from CLIENTS where CAMPAIGN_ID = :campaignId
            delete from OPERATORS where CAMPAIGN_ID = :campaignId
            delete from CAMPAIGNS_EXCLUDE_DAYS where CAMPAIGN_ID = :campaignId
            delete from CAMPAIGNS where ID = :campaignId";

        var p = new DynamicParameters();
        p.Add("campaignId", campaignId);

        Connection.Execute(sql, p);

我在那里使用 Dapper 作为轻量级 ORM。可能即使不知道 Dapper 也很清楚。

这里有一个例外:

ORA-00933: SQL command not properly ended

【问题讨论】:

  • 你不能这样。要么将这些 sql 命令放入存储过程中,要么单独运行它们。

标签: c# sql oracle odp.net odac


【解决方案1】:
const string sql = @"
     delete from CLIENTS where CAMPAIGN_ID = @campaignId
     delete from OPERATORS where CAMPAIGN_ID = @campaignId
     delete from CAMPAIGNS_EXCLUDE_DAYS where CAMPAIGN_ID = @campaignId
     delete from CAMPAIGNS where ID = @campaignId";

var p = new { campaignId=campaignId };
Connection.Execute(sql, p);

【讨论】:

  • 我同意。就我是 .NET 开发人员而言,我是 Oracle 的新手。在 MSSQL 中使用 ;它会很好用。但是甲骨文抛出异常...
  • @AndreiMikhalevich。很抱歉之前的错误。试试这个查询。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-09
  • 2023-03-05
  • 2021-06-25
  • 1970-01-01
  • 2022-01-02
  • 1970-01-01
相关资源
最近更新 更多