Perhaps the 'create rule' is in the way, you could try something like:

CASE WHEN document_online THEN 1
 ELSE 0
END,
CASE WHEN document_valid  1
 ELSE 0
END 

But if that doesn’t work, I'm out of options aswel.
You could try the "instead query" separately to test whether the query
itself is correct.

Goodluck


> -----Oorspronkelijk bericht-----
> Van: Stephane Schildknecht [mailto:[EMAIL PROTECTED]] 
> Verzonden: vrijdag 5 juli 2002 15:39
> Aan: Arjen van der Meijden
> CC: [EMAIL PROTECTED]
> Onderwerp: Re: [SQL] Boolean to int
> 
> 
> Le jeu 04/07/2002 à 23:32, Arjen van der Meijden a écrit :
> > How about this hint in the postgresql-manual:
> > 
> >    "Tip:  Values of the boolean type cannot be cast 
> directly to other
> > types (e.g., CAST (boolval AS integer) does not work). This can be 
> > accomplished using the CASE expression: CASE WHEN boolval 
> THEN 'value if 
> > true' ELSE 'value if false' END. See also Section 4.12. "
> > 
> > For more information:
> > http://www.postgresql.org/idocs/index.php?datatype-boolean.html
> > and
> > http://www.postgresql.org/idocs/index.php?functions-conditional.html
> 
> I tried that :
> 
> CREATE RULE boolean_return AS ON SELECT TO DOCUMENT DO INSTEAD
>         SELECT
>         document_id,
>         workflow_id,
>         type_document_id,
>         image_id,
>         theme_id,
>         document_version,
>         document_surtitre,
>         document_titre,
>         document_chapeau,
>         document_synthese,
>         document_corps,
>         document_pdf,
>         document_date_creation,
>         document_mot_clef,
>               document_online,
>               document_valid,
>                       CASE document_online WHEN TRUE THEN 1
>                                        WHEN FALSE THEN 0
>                       END,
>                       CASE document_valid WHEN TRUE THEN 1
>                                       WHEN FALSE THEN 0
>                       END 
>                       FROM document;
> 
> And, that doesn't work either...
> 
> psql:cnambo_proc_stock.sql:76: ERROR:  select rule's target 
> list has too many entries
> 
> 
> > 
> -- 
>  _Stéphane SCHILDKNECHT___________________________________
> | AurorA-SAS 69-71, Av. Pierre Grenier 92100 BOULOGNE     |
> | Tel : 01.58.17.03.20 Fax : 01.58.17.03.21               | 
> | mailto:[EMAIL PROTECTED] - ICQ : 142504394 |  "Free 
> |Markets have taught that innovation is best when  |
> |  ideas flow freely." Adam Smith                         |
> |_________________________________________________________|
> 
> 





---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
    (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])


Reply via email to