Sintaxe:
CREATE PROCEDURE nomeDoProcedimento([parametros,...]) [caracteristica] BEGIN CorpoDaRotina END |
onde:
- NomeDoProcedimento: é o nome no qual o procedimento será chamado.
- [Parametros]: quais parâmetros que o procedimento estará recebendo. Mais abaixo entrarei em detalhes;
- [caracteristica]: configurações e características especiais que seu procedimento pode ter;
- CorpodaRotina: é o lugar onde você colocará os códigos de execução.
Código 01:
CREATE PROCEDURE 'teste'() BEGIN SELECT "Olá mundo"; END |
O comando SQL para executar é o CALL. A sintaxe é o seguinte:
CALL nomeDoProcedimento([parametros,...]); |
Para o exemplo do código 01, temos o seguinte chamado:
Código 02:
CALL teste(); |
Como não temos parâmetros, é possível usar o nome do procedimento sem o parênteses.
Parâmetros:
Parâmetros:
Como dito antes, é possível passar parâmetros para o procedimento. Para isso temos a seguinte sintaxe:
CREATE PROCEDURE nomeDoProcedimento([tipoParam nomeParam tipoDado,...]) |
onde temos o seguinte:
- tipoParam: Indica o tipo de parâmetro que vai ser passado. Os tipos podem ser:
- IN: parâmetro do tipo IN serve somente como entrada de dados para o procedimento;
- OUT: parâmetros do tipo OUT serve somente para armazenar algum dado que o procedimento gerou para disponibilizar fora dele;
- INOUT: é a combinação do IN e OUT, ou seja, recebe dados, mas também retorna o novo dado gerado;
- nomeParam: é o nome pelo qual o parâmetro será indentificado;
- tipoDado: é o tipo de dado que o parâmetro é. É exatamente igual aos tipos de dados que você define quando cria uma tabela;
Condicional
Também é possível utilizar estrutura condicional para os procedimentos. Veja a sintaxe:
IF (Condicao) THEN [procedimento caso verdade] [ELSE [procedimento caso false]] ENDIF |
É praticamente igual a quaquer outros IF das linguagens. Apesar da sintaxe ser semelhante ao do Pascal, os operadores padrão C são usados (&&, ||, etc).
Código 03:
CREATE PROCEDURE 'teste'(IN v_id, IN v_nome VARCHAR(50)) BEGIN IF (v_id!='' && v_nome!='') THEN UPDATE profile SET name=v_nome WHERE id=v_id; ELSE SELECT "ID ou Nome não inseridos" AS msg; ENDIF END |
Variáveis do Usuário
Variáveis do Usuário são declaradas usando o comando SET.
SET variavel = "Ola"; |
Os tipos que uma variável pode receber é Inteiro, Real, String ou NULL. Para atrubuir um valor, podemos usar tanto o "=" quanto o ":=". Caso a variável não tenha sido inicializada, ela terá como valor inicial o NULL.
Variáveis Locais
Variáveis locais são declaradas da seguinte forma:
DECLARE x TIPO; |
Sendo:
- TIPO: o tipo de dados da variável;
Nenhum comentário:
Postar um comentário