/// <summary> Получить список ограничений для данной таблицы </summary>
        /// <remarks> Выполнять из под владельца схемы </remarks>
        public static DataTable GetConstraints(this OraDataAccess oda, string tableName)
        {
            var sql = @"select ucc.column_name, uc.search_condition from user_constraints uc, user_cons_columns ucc
                        where uc.constraint_type ='C' and uc.table_name = :p0 and ucc.constraint_name=uc.constraint_name";

            return(oda.GetQueryResult(sql, tableName.ToUpper()));
        }
        /// <summary> Получить список внешних ключей для данной таблицы </summary>
        /// <remarks> Выполнять из под владельца схемы </remarks>
        public static DataTable GetForeignKeys(this OraDataAccess oda, string tableName)
        {
            var sql = @"select ucc.column_name, ucc2.table_name ref_table, ucc2.column_name ref_column_name, ucc2.position ref_position 
                        from user_constraints uc, user_cons_columns ucc, user_cons_columns ucc2
                        where uc.constraint_type ='R' and uc.table_name = :p0 and ucc.constraint_name=uc.constraint_name and ucc2.constraint_name = uc.r_constraint_name";

            return(oda.GetQueryResult(sql, tableName.ToUpper()));
        }
        /// <summary> Получить список первичных ключей для данной таблицы </summary>
        /// <remarks> Выполнять из под владельца схемы </remarks>
        public static DataTable GetPrimaryKeys(this OraDataAccess oda, string tableName)
        {
            var sql = @"select ucc.column_name, ucc.position from user_constraints uc, user_cons_columns ucc
                        where uc.constraint_type ='P' and uc.table_name = :p0 and ucc.constraint_name=uc.constraint_name
                        order by ucc.position";

            return(oda.GetQueryResult(sql, tableName.ToUpper()));
        }