From: | "Jeff Eckermann" <jeckermann(at)verio(dot)net> |
---|---|
To: | Miguel González <iafmgc(at)unileon(dot)es> |
Cc: | "PostgreSQL SQL" <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Creating a boolean function |
Date: | 2001-09-19 19:54:38 |
Message-ID: | 01a001c14144$ebd04100$279c10ac@INTERNAL |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Maybe the reason is that you defined the function to return bool, but are
attempting to return text?
You need conditional logic, which suggests pl/pgsql is the way to go.
Something simple should do it, like:
create function check_loan (text,int,int)
returns bool
as '
begin
select * from loans where typetable=$1 and code_user=$2 and code_loan=$3;
if found then return true;
else return false;
end if;
return true;
end;
' language 'plpgsql';
Since this is your project, I will take the luxury of not testing that code
:-)
----- Original Message -----
From: "Miguel González" <iafmgc(at)unileon(dot)es>
To: "Haller Christoph" <ch(at)rodos(dot)fzk(dot)de>
Cc: "PostgreSQL SQL" <pgsql-sql(at)postgresql(dot)org>
Sent: Wednesday, September 19, 2001 1:55 PM
Subject: Creating a boolean function
> by the way you know how to create the following sql function?
>
> I need to return a boolean saying if an object is onloan.
>
> the loan table is as follows:
>
> loans
> -----
> code_loan
> code_user
> typetable
>
>
> i want to check these three fields, the first two fields (the code ones)
are
> integer and the last a string.
>
> I tried
>
> create function check_loan (text,int,int)
> returns bool
> as
> 'select CAST(typetable AS text) from loans where typetable=$1 and
> code_user=$2 and code_loan=$3;'
> language 'sql';
>
>
> But I got that the parser cannot identify the =$ operator and requires me
to
> do the proper casting.
>
> How can I do it? Sorry for the questions, but I am new at creating
functions
> and I have to hand in this project tomorrow.
>
> Many thanks
>
> Miguel
>
>
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2001-09-19 20:19:59 | Re: Creating a boolean function |
Previous Message | Stephan Szabo | 2001-09-19 19:36:04 | Re: Creating a boolean function |