

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

A volatilidade da função do PostgreSQL ajuda o otimizador a melhorar a execução de consultas. Quando usada em partes de determinadas cláusulas, tem um impacto significativo na performance de consultas. 

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

 

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

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

 *function\$1name (opcional)*   
Você pode especificar o valor desse argumento como `schema_name.function_name`, com um nome de duas partes, ou somente `function_name`. Se você especificar somente `function_name`, o nome do esquema será o esquema padrão para o usuário atual.

 *volatility (opcional)*   
Os valores válidos de volatilidade do PostgreSQL são `stable`, `volatile` ou `immutable`. Para ter mais informações, consulte [https://www.postgresql.org/docs/current/xfunc-volatility.html](https://www.postgresql.org/docs/current/xfunc-volatility.html).

**nota**  
Quando `sp_babelfish_volatility` é chamado com `function_name`, que tem várias definições, será gerado um erro.

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

Se os parâmetros não forem mencionados, o conjunto de resultados será exibido nas seguintes colunas: `schemaname`, `functionname`, `volatility`.

## Observações de uso
<a name="sp_babelfish_volatility-usage-notes"></a>

A volatilidade da função do PostgreSQL ajuda o otimizador a melhorar a execução de consultas. Quando usada em partes de determinadas cláusulas, tem um impacto significativo na performance de consultas. 

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

Os exemplos a seguir mostram como criar funções simples e, posteriormente, explicam como usar `sp_babelfish_volatility` nessas funções utilizando métodos diferentes.

```
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
```

O exemplo a seguir mostra a volatilidade das funções:

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

O exemplo a seguir mostra como alterar a volatilidade das funções:

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

Quando você especifica somente function\$1name, são exibidos o nome do esquema, o nome da função e a volatilidade da função. O exemplo a seguir mostra a volatilidade das funções depois de alterar os 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
```

Quando você não especifica nenhum argumento, é exibida uma lista de funções (nome do esquema, nome da função, volatilidade das funções) presentes no banco de dados atual:

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