大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

dapper oracle insert output increment key

--oracle添加主键自增长步骤
 
--第一步
CREATE SEQUENCE seq_表名称
 
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
 
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区
 
--第二步
CREATE TRIGGER "tiger_表名称" BEFORE
INSERT ON 表名称 FOR EACH ROW WHEN (new.自增字段 is null)
begin
select seq_表名称.nextval into:new.自增字段 from dual;
end;
 
--第三步
commit;

string sql = "insert into table (name) values ('name') RETURNING id INTO :NEW_SEQ_ID";
var plist = paras.ToDynamicParameters();
plist.Add("NEW_SEQ_ID", dbType: DbType.Decimal, direction: ParameterDirection.Output);
int result;

using (var db = DapperDataAccess.BuildConnection())
{
    db.Execute(sql, plist);
    result = plist.Get<int>("NEW_SEQ_ID");
}

return result;