public function actualizar()
    {
        // Preparamos variables a usar
        $filtro = [];
        $parametros = [];
        $llavePrimaria = (array) $this->__llavePrimaria;

        // Hacemos recorrido de campos para rellenar parametros de actualización
        foreach ($this->__campos as $campo => $meta) {
            // Validamos si el campo cumple con su requerimiento
            if (!empty($meta['requerido']) && $this->campoVacio($campo)) {
                throw new \RuntimeException("Falta el campo requerido '{$campo}'.");
            }

            // Agregamos campo a los parametros de inserción
            if (isset($this->{$campo})) {
                $parametros[$campo . '|' . $meta['tipo']] = $this->{$campo};
            }
        }

        // Hacemos recorrido de llave primaria para rellenar el filtro de consulta
        foreach ($llavePrimaria as $campo) {
            if ($this->campoVacio($campo)) {
                throw new \RuntimeException("Falta rellenar el campo llave '{$campo}'.");
            }

            $filtro[$campo . '|' . $this->__campos[$campo]['tipo']] = $this->{$campo};
        }

        return Aplicacion::instanciar()->obtenerBdRelacional()
            ->actualizar($this->__nombreTabla, $parametros)
            ->donde($filtro)
            ->ejecutar();
    }