web-dev-qa-db-fra.com

Comment créer une fonction qui ne retourne rien

Je veux écrire une fonction avec pl/pgsql. J'utilise PostgresEnterprise Manager v et utilise Shell pour créer une fonction, mais dans Shell, je dois définir le type de retour. Si je ne définis pas le type de retour, je ne peux pas créer de fonction.

Comment créer une fonction sans retourner le résultat, c’est-à-dire une fonction qui crée une nouvelle table?

83
Kabi

Utilisation RETURNS void comme ci-dessous:

CREATE FUNCTION stamp_user(id int, comment text) RETURNS void AS $$
    #variable_conflict use_variable
    DECLARE
        curtime timestamp := now();
    BEGIN
        UPDATE users SET last_modified = curtime, comment = comment
          WHERE users.id = id;
    END;
$$ LANGUAGE plpgsql;
133
sqreept