name

the name (opcionalmente schema-qualified) of the procedure to create.

argmode

O modo de um argumento: IN INOUT, ou VARIADIC. Se omitido, o padrão é IN. (OUT argumentos não são atualmente suportados para procedimentos. Use INOUT instead.)

argname

o nome de um argumento.,

argtype

o(S) Tipo (s) de dados dos argumentos do procedimento (eventualmente qualificados em esquemas). Os tipos de argumento podem ser tipos de base, compósito ou domínio, ou podem referenciar o tipo de uma coluna de tabela.

dependendo da linguagem de implementação também pode ser permitido especificar “pseudo-tipos” tais como cstring. Pseudo-tipos indicam que o tipo de argumento real é ou incompletamente especificado, ou fora do conjunto de tipos de dados SQL ordinários.

o tipo de coluna é referenciado escrevendo table_name.,column_name%TYPE . A utilização deste recurso pode, por vezes, ajudar a tornar um procedimento independente das alterações à definição de uma tabela.

default_expr

uma expressão a ser usada como valor padrão se o parâmetro não for especificado. A expressão tem que ser coerciva ao tipo de argumento do parâmetro. Todos os parâmetros de entrada seguindo um parâmetro com um valor padrão também devem ter valores padrão.

lang_name

o nome da língua em que o procedimento é implementado., Ele pode ser sql c internal, ou o nome de um utilizador definido linguagem processual, por exemplo, plpgsql. O fecho do nome em aspas simples é desactualizado e requer um caso correspondente.

TRANSFORM { FOR TYPE type_name}}

devem aplicar-se as listas que transformam uma chamada para o procedimento. Transforma o convert entre tipos SQL e tipos de dados específicos da linguagem; veja criar transformação. Implementações de linguagem processual geralmente têm conhecimento hardcoded dos tipos embutidos, de modo que aqueles não precisam ser listados aqui., Se uma implementação de linguagem processual não sabe como lidar com um tipo e nenhuma transformada é fornecida, ela vai voltar para um comportamento padrão para converter tipos de dados, mas isso depende da implementação.

SECURITY INVOKER
SECURITY DEFINER

SECURITY INVOKER indica que o procedimento é executado com os privilégios do usuário que o chama. Esse é o padrão. SECURITY DEFINER especifica que o procedimento deve ser executado com os privilégios do usuário que o possui.,

A Palavra-chave EXTERNAL é permitida para a conformidade SQL, mas é opcional uma vez que, ao contrário de SQL, Esta característica se aplica a todos os procedimentos não apenas externos.

A SECURITY DEFINER procedure cannot execute transaction control statements (for example, COMMIT and ROLLBACK, depending on the language).,

configuration_parameter
value

SET cláusula faz com que a configuração especificada parâmetro a ser definido para o valor especificado quando o procedimento é inserido e, em seguida, restaurado ao seu valor anterior, quando o procedimento termina. SET FROM CURRENT guarda o valor do parâmetro actual quando CREATE PROCEDURE é executado como o valor a aplicar quando o procedimento é introduzido.,

Se SET cláusula é anexado a um procedimento, em seguida, os efeitos de uma SET LOCAL comando executado dentro do procedimento para a mesma variável são restritos para o procedimento: o parâmetro de configuração prévia de um valor ainda é restaurado no procedimento de saída., No entanto, uma ordinária SET comando (sem LOCAL) substitui o SET cláusula, assim como faria para um anterior SET LOCAL comando: os efeitos de um comando irá persistir após o procedimento de saída, a menos que a transação é revertida.

Se SET cláusula é anexado a um procedimento, em seguida, que o procedimento não é possível executar controle de transação declarações (por exemplo, COMMIT e ROLLBACK, dependendo do idioma).,

ver SET e Capítulo 19 para mais informações sobre os nomes e valores dos parâmetros permitidos.

definition

a string constant defining the procedure; the meaning depends on the language. Pode ser um nome de procedimento interno, o caminho para um arquivo objeto, um comando SQL, ou texto em uma linguagem processual.

é muitas vezes útil usar a citação em Dólares (ver secção 4.1.2.4) para escrever a definição de procedimento, em vez da sintaxe normal de simples citação. Sem citar o dólar, qualquer aspas ou retrocessos na definição do procedimento deve ser escapada dobrando-os.,

obj_file link_symbol

Esta forma de AS cláusula é usada para carregável dinamicamente linguagem C procedimentos quando o nome do procedimento em linguagem C do código fonte não é o mesmo como o nome do procedimento SQL. A string obj_file é o nome do arquivo de biblioteca compartilhada contendo o procedimento C compilado, e é interpretado como para o comando LOAD. The string link_symbol is the procedure's link symbol, that is, the name of the procedure in the C language source code., Se o símbolo da ligação for omitido, assume-se que é o mesmo que o nome do procedimento SQL a ser definido.

Quando repetido CREATE PROCEDURE chamadas referem-se ao mesmo arquivo objeto, o arquivo é carregado apenas uma vez por sessão. Para descarregar e recarregar o arquivo (talvez durante o desenvolvimento), Inicie uma nova sessão.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *