예제 #1
0
        /// <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);
        }
예제 #2
0
        /// <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, ");
        }