MYSql

1847 palavras 8 páginas
FUNÇÕES DO PL/SQL

Uma função é muito semelhante a um procedimento. Ambos aceitam argumentos, que podem ter qualquer modo. Ambos são formas diferentes de blocos de PL/SQL, com seções declarativas, executável e de exceções. Ambos podem ser armazenados na base de dados e declarados num bloco. (As funções e os procedimentos que não são armazenados na base de dados será analisados mais para frente conforme for descrevendo minhas colunas semanalmente). Porém , uma chamada de procedimento é uma instrução PL/SQL por si só, enquanto que uma chamada de função é chamada como parte de uma expressão.
Logo abaixo um exemplo de uma função que devolve TRUE se a turma especificada ultrapassar 90% da sua capacidade e FALSE em qualquer outra situação .

CREATE OR REPLACE FUNCTION RetornaEstudante ( p_Departamento classes.departmento%TYPE, p_Curso classes.curso%TYPE) RETURN BOOLEAN IS

v_numero_estudantes NUMBER; v_valor_maximo_estudantes NUMBER; v_RetornaValor BOOLEAN; v_Porcentual_Cheio CONSTANT NUMBER := 90;

BEGIN SELECT numero_estudantes, valor_maximo_estudantes INTO v_numero_Epl/sql studantes, v_valor_maximo_estudantes FROM classes WHERE departmento = p_Departmento AND curso = p_Course;

-- se classe cheia entao -- v_Porcentual_Cheio, retorna TRUE. Retorna falso em outra situacao.

IF (v_numero_estudantes / v_valor_maximo_estudantes * 100)> v_Porcentual_Cheio THEN v_RetornaValor := TRUE; ELSE v_RetornaValor := FALSE; END IF;

RETURN v_RetornaValor;
END RetornaEstudante;
/

A função RetornaEstudante devolve um valor booleano. Pode ser chamada a partir do bloco de PL/SQL seguinte. Observe que a chamada de função não é uma instrução por si só, e utilizada como parte da instrução IF dentro do ciclo.
DECLARE
CURSOR c_Classes IS - cursor to tipo c (c_classes) SELECT departmento, curso FROM classes;
BEGIN
FOR

Relacionados

  • Mysql
    3726 palavras | 15 páginas
  • Mysql
    19600 palavras | 79 páginas
  • Mysql
    1249 palavras | 5 páginas
  • MySQL
    1561 palavras | 7 páginas
  • Mysql
    932 palavras | 4 páginas
  • Mysql
    4672 palavras | 19 páginas
  • MYSQL
    4336 palavras | 18 páginas
  • mysql
    377 palavras | 2 páginas
  • Mysql
    4207 palavras | 17 páginas
  • Mysql
    680 palavras | 3 páginas