直接取oracle的sequence的方法
private void SetTenpoGroup()
{
StringBuilder sqlBuilder = new StringBuilder();
sqlBuilder.Append( "INSERT INTO \n ");
sqlBuilder.Append( "SMD_M_TENPOGROUP \n ");
sqlBuilder.Append( "( \n ");
sqlBuilder.Append( "LOGSEQ\n ");
sqlBuilder.Append( ") \n ");
sqlBuilder.Append( "VALUES \n ");
sqlBuilder.Append( "( \n ");
sqlBuilder.Append( ":LOGSEQ\n ");
sqlBuilder.Append( ") \n ");
Hashtable param = new Hashtable();
param.Add( "TENPOGROUPCD ", "6 ");
using (SmoodsBatchOracle oracle = new SmoodsBatchOracle())
{
oracle.Open();
oracle.BeginTransaction();
try
{
int ret = oracle.ExecuteNonQuery(
sqlBuilder.ToString(),
param
);
oracle.Commit();
LOGSEQ是oracle的递增字段,也就是sequence,我应该怎么做才能插入不重复的?
有没有直接取oracle的sequence的方法
[解决办法]
.nextval
[解决办法]
就是你创建的自动增长序列的名字
[解决办法]
CREATE SEQUENCE SCHEMANAME.AUTOID
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 999999999
NOCACHE
NOCYCLE
NOORDER
是在SCHEMA的名字是SCHEMANAME中创建一个名字是AUTOID的序列