

# sp\$1babelfish\$1volatility
<a name="sp_babelfish_volatility"></a>

La volatilidad de las funciones de PostgreSQL ayuda al optimizador a ejecutar mejor las consultas, lo que, cuando se usa en partes de determinadas cláusulas, tiene un impacto significativo en el rendimiento de las consultas. 

## Sintaxis
<a name="sp_babelfish_volatility-syntax"></a>

 

```
sp_babelfish_volatility ‘function_name’, ‘volatility’
```

## Argumentos
<a name="sp_babelfish_volatility-arguments"></a>

 *function\$1name (opcional)*   
Puede especificar el valor de este argumento con un nombre de dos partes como `schema_name.function_name` o solo el `function_name`. Si especifica solo el `function_name`, el nombre del esquema será el esquema predeterminado para el usuario actual.

 *volatility (optional)*   
Los valores de volatilidad válidos de PostgreSQL son `stable`, `volatile` o `immutable`. Para obtener más información, consulte [https://www.postgresql.org/docs/current/xfunc-volatility.html](https://www.postgresql.org/docs/current/xfunc-volatility.html)

**nota**  
Cuando `sp_babelfish_volatility` se llama con un `function_name` con múltiples definiciones, arrojará un error.

## Conjuntos de resultados
<a name="sp_babelfish_volatility-return-type"></a>

Si no se mencionan los parámetros, el conjunto de resultados se muestra en las siguientes columnas: `schemaname`, `functionname`, `volatility`.

## Notas de uso
<a name="sp_babelfish_volatility-usage-notes"></a>

La volatilidad de las funciones de PostgreSQL ayuda al optimizador a ejecutar mejor las consultas, lo que, cuando se usa en partes de determinadas cláusulas, tiene un impacto significativo en el rendimiento de las consultas. 

## Ejemplos
<a name="sp_babelfish_volatility-examples"></a>

En los siguientes ejemplos se muestra cómo crear funciones simples y, posteriormente, se explica cómo utilizar `sp_babelfish_volatility` en estas funciones mediante diferentes métodos.

```
1> create function f1() returns int as begin return 0 end
2> go
```

```
1> create schema test_schema
2> go
```

```
1> create function test_schema.f1() returns int as begin return 0 end
2> go
```

El siguiente ejemplo muestra la volatilidad de las funciones:

```
1> exec sp_babelfish_volatility
2> go
            
schemaname  functionname volatility
----------- ------------ ----------
dbo         f1           volatile
test_schema f1           volatile
```

El siguiente ejemplo muestra cómo cambiar la volatilidad de las funciones:

```
1> exec sp_babelfish_volatility 'f1','stable'
2> go
1> exec sp_babelfish_volatility 'test_schema.f1','immutable'
2> go
```

Al especificar solo el function\$1name, se muestran el nombre del esquema, el nombre de la función y la volatilidad de esa función. El siguiente ejemplo muestra la volatilidad de las funciones después de cambiar los valores:

```
1> exec sp_babelfish_volatility 'test_schema.f1'
2> go
            
schemaname  functionname volatility
----------- ------------ ----------
test_schema f1           immutable
```

```
1> exec sp_babelfish_volatility 'f1'
2> go
            
schemaname  functionname volatility
----------- ------------ ----------
dbo         f1           stable
```

Si no especifica ningún argumento, se muestra una lista de funciones (nombre del esquema, nombre de la función, volatilidad de las funciones) presentes en la base de datos actual:

```
1> exec sp_babelfish_volatility 
2> go
            
schemaname  functionname volatility
----------- ------------ ----------
dbo         f1           stable
test_schema f1           immutable
```