如果 DML 语句包含不带 INTO 子句的 OUTPUT 子句 返回

SqlSugar 沟通中
7 113

有一张表用到了触发器。使用sqlsugar插入数据并返回Id就会报这个错误

image.png


image.png

热忱回答7

  • 有触发器那就不返回ID了

    0 回复
  • @fate sta还是得要的

    0 回复
  • @岁月留歌画山:这个是数据库层面不支持那也没办法

    0 回复
  • AOP看一下SQL应该是return的写法不支持触发器

    0 回复
  • @fate sta

    我在网上找到的解决方案是用一个字段接受就好了


    --succeeds
    declare @outputtable table (id int);
    insert into dbo.table1(id) 
    output inserted.id into @outputtable(id)--output into a table
    values(1);


    0 回复
  •  

    db.Aop.OnExecutingChangeSql = (sql, pars) => //可以修改SQL和参数的值
    {
        //sql=newsql
        //foreach(var p in pars) //修改
        return new KeyValuePair<string, SugarParameter[]>(sql,pars);
    };


    你这种特殊情况AOP处理一下吧 。  不太适合在多声名一个变量

    0 回复
  • @fate sta:哦 好的 我试一下


    0 回复