Typecasting in SQL functions - Mailing list pgsql-sql

From Konstantinos Vassiliadis
Subject Typecasting in SQL functions
Date
Msg-id Pine.LNX.3.95.980714133237.314E-100000@p22.cs.man.ac.uk
Whole thread Raw
Responses Re: [SQL] Typecasting in SQL functions  (Zsolt Varga <redax@agria.hu>)
List pgsql-sql
Hi,
I have the following

create table reference
(author text,
 journal text);

create table subref
 (ref reference);

I want to insert a tuple into relation 'subref'. I spotted in the mailing
list that Nicolas Caillaud created a function to insert values to his
relation 'book' so I thought I tried the same

create function add_ref(text,text) returns reference
 as 'select * from reference
     where author=$1 and journal=$2'
 language 'sql';

I get the following
 ERROR:  There is no operator '=$' for types 'text' and 'int4'
        You will either have to retype this query using an explicit cast,
        or you will have to define the operator using CREATE OPERATOR

Obviously it confuses author=$1...
I have looked at the documenation (Ch 4. 'Extending SQL Functions'
PostgreSQL Programmer's Guide) where they typecast for the function
new_emp().

I have tried
  <same query>
  where author=::$1...

and get the same error message.

Can somebody help me on typecasting?

Kostas Vassiliadis



pgsql-sql by date:

Previous
From: Herouth Maoz
Date:
Subject: Re: [SQL] #define in SQL?
Next
From: Paulo Trezentos
Date:
Subject: Insert query