/// <summary> /// Restiruisce la query per ricavare l'ultimo valore della system_id /// inserita per una tabella /// </summary> /// <param name="tableName"></param> /// <returns></returns> public string GetQueryLastSystemIdInserted(string tableName) { string retValue = string.Empty; if (tableName != null && tableName != string.Empty) { ISequenceMapper mapper = new OracleSequenceMapper(); string sequenceName = mapper.GetSequenceName(tableName); //TODO: verranno gestite le nuove sequence inserendole sia nel db e nel xml (luciani) if (sequenceName != null && sequenceName != "") { retValue = string.Concat("SELECT ", sequenceName, ".currval FROM dual"); } else { // Se non è stata fornita una tableName, // viene reperita la systemId inserita per la sequence di default retValue = this.GetQueryLastSystemIdInserted(); } } else { // Se non è stata fornita una tableName, // viene reperita la systemId inserita per la sequence di default retValue = this.GetQueryLastSystemIdInserted(); } return(retValue); }
/// <summary> /// </summary> /// <param name="tableName"></param> /// <returns></returns> public string GetSystemIdNextVal(string tableName) { string retValue = string.Empty; string defaultSequenceName = System.Configuration.ConfigurationManager.AppSettings["oracleSequenceName"]; if (tableName == null || tableName.Equals(string.Empty)) { retValue = defaultSequenceName; } else { ISequenceMapper mapper = new OracleSequenceMapper(); string sequenceName = mapper.GetSequenceName(tableName); if (sequenceName == string.Empty) { // Nel caso in cui per il nome della tabella fornita come parametro // non sia stato effettuato il mapping ad una sequence particolare, // viene preso il nome della sequence di default sequenceName = defaultSequenceName; } retValue = sequenceName; } return(retValue + ".nextval, "); }