Polychronis,
  Each row is returned even if it is null because the Stored Procedure has
to be run against the value of the select.  Since the Select is already on
the row to get the value, the result is displayed in the output device
(screen,printer,file)

Are you trying to "clean up" some data?  Otherwise, it is best to run your
stored procedure in an EEP to validate the data before writing to disk.



----- Original Message -----
From: "ELOEN" <[EMAIL PROTECTED]>
To: "RBASE-L Mailing List" <[EMAIL PROTECTED]>
Sent: Tuesday, January 07, 2003 5:03 AM
Subject: [RBASE-L] - Re: Stored Procedure in Where Clause


> You are right Mike. The Stored Procedure that follows get var pon text as
> input and check for the existence of special chars except (Greek,)
English,
> numeric and '-' chars. If there is, it returns the position of 1st
> occurrence and the character. If not it returns null.
>
> I had to change the Greek part of the code because I could not see my
reply
> to the list.
>
> *(ElOn1.STP: Stored Procedure for checking names for special chars)
> --pon: name parapeter text (30)
> --stp: string of error
> --chars allowed 0-9,A-Z,'-'
>
> CLEAR VAR stp_return
>
> SET V stp TEXT,plen INTEGER,p1t TEXT,pi INTEGER
>
> --initial values
> SET V stp = NULL,pi = 0
>
> SET V plen = (SLEN(pon))
> IF plen = 0 THEN
>   GOTO LOUT
> ENDIF
>
> WHILE pi < .plen THEN
>   SET V pi = (.pi + 1)
>   SET V p1t = (SGET(.pon,1,.pi))
>   IF (p1t BETWEEN 'A' AND 'Z') OR (p1t BETWEEN '0' AND '9') THEN
>     CONTINUE
>   ENDIF
>   IF p1t = '-' THEN
>     CONTINUE
>   ENDIF
>   IF p1t = ' ' THEN
>     SET V p1t = '[blank]'
>   ENDIF
>   SET V stp = ('Position:' + (CTXT(.pi)) + ', No allowed char:' + .p1t)
>   BREAK
> ENDW
>
> LABEL LOUT
> CLEAR VAR p%
> RETURN .stp
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On Behalf Of MikeB
> > Sent: Friday, January 03, 2003 4:49 PM
> > To: RBASE-L Mailing List
> > Subject: [RBASE-L] - Re: Stored Procedure in Where Clause
> >
> >
> > We need to see the contents of your Stored Procedure....
> >
> > ----- Original Message -----
> > From: "ELOEN" <[EMAIL PROTECTED]>
> > To: "RBASE-L Mailing List" <[EMAIL PROTECTED]>
> > Sent: Friday, January 03, 2003 1:41 AM
> > Subject: [RBASE-L] - Stored Procedure in Where Clause
> >
> >
> > > Hello brotherhood of R!
> > >
> > > could someone confirm this?
> > >
> > > If I use a stored procedure in a WHERE clause, it returns all
> > the rows in
> > > the table.
> > > For example:
> > >
> > > SELE ... WHERE (CALL stp_name(stp_prmtrs)) IS NOT NULL
> > >
> > > returns all the rows, where as
> > >
> > > SELE (CALL stp_name(stp_prmtrs)) FROM ...
> > >
> > > returns null and not null values.
> > >
> > > OS: win2k
> > > Rbase Vers:1.862 x RT03 Win
> > >
> > > TIA
> > > Polychronis T. Kontos
> > > Athens, Greece
> > >
> > >
> >
>
> --- RBASE-L
> ================================================
> TO POST A MESSAGE TO ALL MEMBERS:
> Send a plain text email to [EMAIL PROTECTED]
>
> (Don't use any of these words as your Subject:
> INTRO, SUBSCRIBE, UNSUBSCRIBE, SEARCH,
> REMOVE, SUSPEND, RESUME, DIGEST, RESEND, HELP)
> ================================================
> TO SEE MESSAGE POSTING GUIDELINES:
> Send a plain text email to [EMAIL PROTECTED]
> In the message SUBJECT, put just one word: INTRO
> ================================================
> TO UNSUBSCRIBE:
> Send a plain text email to [EMAIL PROTECTED]
> In the message SUBJECT, put just one word: UNSUBSCRIBE
> ================================================
> TO SEARCH ARCHIVES:
> Send a plain text email to [EMAIL PROTECTED]
> In the message SUBJECT, put just one word: SEARCH-n
> (where n is the number of days). In the message body,
> place any
> text to search for.
> ================================================
>
>

Reply via email to