Bonjour,

Je suis entrain de convertir des procédures SQL Server pour qu'elles soient compatibles sur PostgreSQL mais je ne sais pas comment faire sur Postgres pour déclarer une fonction avec des paramètres facultatifs (et affectations par defaut)? Il me met que j'ai une erreur de synthaxe vers le "=".

La déclaration de la fonction sur SQL Server:

ALTER PROCEDURE [dbo].[sp_TRACE_Creer] (
@NO_TRACE INT = NULL OUT,
@OBJET_TRACE VARCHAR(500) = NULL,
@NIVEAU SMALLINT = 1)
AS
[...]

Je pensais à cette solution mais est-ce qu'il y a quelque chose de plus adapté?

CREATE OR REPLACE FUNCTION SP_TRACE_CREER (
INOUT VAR_NO_TRACE INTEGER,
INOUT VAR_OBJET_TRACE CHARACTER VARYING(500),
INOUT VAR_NIVEAU SMALLINT)
RETURNS SETOF RECORD
AS $$
BEGIN

if (VAR_NIVEAU = null) then VAR_NIVEAU = 1;
end if;
[...]

Merci d'avance.