pears.SetPersonWillingness

Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.

COMMENT TO PRESERVE FORMAT ON PROCEDURE "pears"."SetPersonWillingness" IS 
{CREATE FUNCTION SetPersonWillingness 
 
/* Application Maintained Function / Procedure - DO NOT EDIT*/
 
( IN @PersonID CHAR(20),IN @Willingness SMALLINT DEFAULT NULL ) 
RETURNS SMALLINT
BEGIN
  -- return codes: 0 = success, 1 = no such PersonID, 2 = no Willingness record for PersonID, 3 = other error
  -- call with only PersonID to remove existing Willingness Record
  BEGIN try
    IF @Willingness IS NOT NULL THEN
      INSERT INTO "pears"."PersonWillingness"( "PersonID","Willingness" ) ON existing UPDATE defaults off VALUES
        ( @PersonID,@Willingness ) 
    ELSE
      DELETE FROM "pears"."PersonWillingness" WHERE "PersonID" = @PersonID
    END IF;
    IF
      @@rowcount = 1 THEN RETURN(0)
    ELSEIF @Willingness IS NULL
    AND NOT EXISTS(SELECT "PersonID" FROM "PersonWillingness" WHERE "PersonID" = @PersonID)
    AND EXISTS(SELECT "PersonID" FROM "Person" WHERE "PersonID" = @PersonID) THEN
      RETURN(2)
    ELSEIF @Willingness IS NULL
    AND NOT EXISTS(SELECT "PersonID" FROM "Person" WHERE "PersonID" = @PersonID) THEN
      RETURN(1)
    ELSE RETURN(3)
    END IF
  END try
  BEGIN catch
    IF NOT EXISTS(SELECT "PersonID" FROM "Person" WHERE "PersonID" = @PersonID) THEN RETURN(1)
    ELSE RETURN(3) END IF
  END catch
END
}
  • database/procedures/pears_setpersonwillingness.txt
  • Last modified: 2026/08/07 19:24
  • by 127.0.0.1