Funções

As funções SQL executam uma lista arbitrária de declarações SQL, retornando o resultado da última consulta da lista. No caso mais simples (não-conjunto), a primeira linha do resultado da última consulta é retornada (Deve-se ter em mente que a "primeira linha" de um resultado de várias linhas não é bem definido, a menos que seja utilizada a cláusula ORDER BY). Caso a última consulta não retorne nenhuma linha, é retornado o valor nulo.

O corpo de uma função SQL deve ser uma lista contendo uma ou mais declarações SQL separadas por ponto-e-vírgula (;). O ponto-e-vírgula após a última declaração é opcional. A menos que a função seja declarada como retornando o tipo void, a última declaração deve ser um comando SELECT.

Qualquer coleção de comandos na linguagem SQL pode ser juntado e definido como uma função. Além de comandos SELECT, podem existir comandos de manipulação de dados (INSERT, UPDATE e DELETE), assim como outros comandos SQL (A única exceção é que não se pode colocar os comandos BEGIN, COMMIT, ROLLBACK ou SAVEPOINT na função SQL). Entretanto, o comando final deve ser um SELECT retornando o que foi especificado como sendo o tipo retornado pela função.

CREATE FUNCTION somar() RETURNS integer AS $$
    SELECT 3 + 4;
$$ LANGUAGE SQL;

SELECT somar() AS resposta;

CREATE OR REPLACE FUNCTION remove_curso ()
RETURNS void AS     $$
DELETE FROM curso
        WHERE curso.id = 8;
$$
LANGUAGE SQL;

Na programação, uma variável é um objeto (uma posição, frequentemente localizada na memória) capaz de reter e representar um valor ou expressão. Enquanto as variáveis só "existem" em tempo de execução, elas são associadas a "nomes", chamados identificadores, durante o tempo de desenvolvimento.

Quando nos referimos à variável, estamos nos referindo a uma equação de primeiro grau, que resulta em resultados que nunca serão previstos, do ponto de vista da programação de computadores, estamos tratando de uma “região de memória (do computador) previamente identificada cuja finalidade é armazenar os dados ou informações de um programa por um determinado espaço de tempo”. A memória do computador se organiza tal qual um armário com várias divisões. Sendo cada divisão identificada por um endereço diferente em uma linguagem que o computador entende.

Tipagem Fraca: É quando os tipos de dados não são bem definidos ou se misturam, não é necessário associar o tipo de dado há variável, pois o compilador/interpretador se encarrega de faze esse tipo de verificação.

Tipagem Forte: É quando os tipo de dados são bem definidos, também é necessário de forma explicita associar o tipo de dado há variável. Outra característica importante é forma do artefato gerado, em linguagens interpretadas, são gerados bytecodes2, que são interpretados por uma maquina virtual e que posteriormente serão traduzidos em linguagem de maquina.

CREATE or replace FUNCTION somar(integer, integer) RETURNS integer AS $$
    SELECT $1 + $2;
$$ LANGUAGE SQL;

SELECT somar(1, 2) AS resposta;

CREATE OR REPLACE FUNCTION remove_curso(integer)
  RETURNS void AS
$$
    delete from curso where id = $1;
$$
  LANGUAGE sql;

 

CREATE or replace FUNCTION somar(val1 integer, val2 integer) RETURNS integer AS $$
    SELECT val1 + val2;
$$ LANGUAGE SQL;

SELECT somar(8, 6) AS resposta;

CREATE OR REPLACE FUNCTION remove_curso(v1 integer)
  RETURNS void AS
$$
    delete from curso where id = v1;
$$
  LANGUAGE sql;

 

Funções

By walternascimento