Article View: borland.public.interbase.sql
Article #11243Re: Stored proc.
From: Bill Todd
Date: Thu, 28 Nov 2002 21:50
Date: Thu, 28 Nov 2002 21:50
78 lines
2824 bytes
2824 bytes
I think what you want is the following. CREATE PROCEDURE CHECKRPT ( PAYM SMALLINT ) RETURNS ( CUSTNO INTEGER, TOTAL DOUBLE PRECISION, DUEDATE TIMESTAMP, PSTATE VARCHAR(8), CUSTNAME VARCHAR(40) ) AS BEGIN IF (PAYM = 0 THEN) FOR SELECT DISTINCT C.CUSTNO, C.TOTAL, C.DUEDATE, C.PSTATE, D.CUSTNAME FROM CHECK C , CUSTOMERS D WHERE (C.CUSTNO=D.CUSTNO) AND ( C.PAYMENT IS NULL ) ORDER BY C.DUEDATE, C.CUSTNO INTO :CUSTNO, :TOTAL, :DUEDATE, :PSTATE, :CUSTNAME DO SUSPEND; ELSE FOR SELECT DISTINCT C.CUSTNO, C.TOTAL, C.DUEDATE, C.PSTATE, D.CUSTNAME FROM CHECK C , CUSTOMERS D WHERE (C.CUSTNO=D.CUSTNO) AND ( C.PAYMENT IS NOT NULL ) ORDER BY C.DUEDATE, C.CUSTNO INTO :CUSTNO, :TOTAL, :DUEDATE, :PSTATE, :CUSTNAME DO SUSPEND; END On Thu, 28 Nov 2002 21:41:15 +0200, "Henry Olive" <zed@zedltd.com> wrote: >I think i couldn't explain my problem. >Try to explain again. >How can i tell to a s.proc that >if a variable=0 then A_table_field is null ? ( blank ) >if a variable=1 then A_table_field is not null ? ( not blank ) > >Please look at between BEGIN and FOR in below SP. > >CREATE PROCEDURE CHECKRPT ( PAYM SMALLINT ) > RETURNS ( > CUSTNO INTEGER, > TOTAL DOUBLE PRECISION, > DUEDATE TIMESTAMP, > PSTATE VARCHAR(8), > CUSTNAME VARCHAR(40) >) AS BEGIN > > > IF PAYM=0 THEN C.PAYMENT=NULL > IF PAYM=1 THEN C.PAYMENT <> NULL > > >FOR >SELECT DISTINCT C.CUSTNO, C.TOTAL, >C.DUEDATE, C.PSTATE, D.CUSTNAME >FROM CHECK C , CUSTOMERS D >WHERE (C.CUSTNO=D.CUSTNO) AND ( C.PAYMENT=:PAYM ) >ORDER BY C.DUEDATE, C.CUSTNO >INTO :CUSTNO, :TOTAL, :DUEDATE, :PSTATE, :CUSTNAME >DO >SUSPEND; >END > > -- Bill (TeamB) (TeamB cannot respond to questions received via email)
Technical Details
Message-ID:
<qr3duush7q9g81om4lu89tk8tqun2rhpce@4ax.com>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!nntp2.aus1.giganews.com!border1.nntp.aus1.giganews.com!nntp.giganews.com!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mailReferences:
<3de3c125@newsgroups.borland.com> <3de6712b@newsgroups.borland.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 114a0e,eeb00b0c9b1e6578 X-Google-Attributes: gid114a0e,public X-Google-ArrivalTime: 2002-11-28 13:58:18 PST From: Bill Todd <bill@notthis.dbginc.com> Newsgroups: borland.public.interbase.sql Subject: Re: Stored proc. Date: Thu, 28 Nov 2002 14:50:01 -0700 Message-ID: <qr3duush7q9g81om4lu89tk8tqun2rhpce@4ax.com> References: <3de3c125@newsgroups.borland.com> <3de6712b@newsgroups.borland.com> X-Newsreader: Forte Agent 1.91/32.564 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit NNTP-Posting-Host: 216.207.211.30 X-Trace: newsgroups.borland.com 1038520201 216.207.211.30 (28 Nov 2002 13:50:01 -0800) Lines: 78 Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!nntp2.aus1.giganews.com!border1.nntp.aus1.giganews.com!nntp.giganews.com!nntp-relay.ihug.net!newsfeeds.ihug.co.nz!ihug.co.nz!newsgroups.borland.com!not-for-mail