home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.databases.informix
- Path: sparky!uunet!dplanet.ssf-sys.DHL.COM!ssf-sys.DHL.COM!jgordon
- From: jgordon@ssf-sys.DHL.COM (Jim Gordon)
- Subject: Re: Stored Procedures, Views,
- Reply-To: jgordon@ssf-sys.DHL.COM (Jim Gordon)
- Organization: DHL
- Date: Fri, 20 Nov 1992 18:29:37 GMT
- Message-ID: <1992Nov20.182937.27856@gateway.ssf-sys.DHL.COM>
- References: <1992Nov20.182332.27775@gateway.ssf-sys.DHL.COM>
- Sender: news@gateway.ssf-sys.DHL.COM (DHL Netnews)
- Lines: 61
-
- > My idea was that if Stored Procedures could be used as part of the
- > Create view statement in place of the select statement and the Stored
- > Procedures had some way of knowing whether an Insert, Delete, Update
- > or Select function had been used. Using this method much of our Data
- > Access Module could be replaced by these views which could be used as
- > if the underlying database looked like the view but in reality the
- > Stored Procedure was handling the work on as many tables as is
- > necessary for the business transaction.
- >
- > etc
- >
- > Cheers - Jim
-
- After considering this idea further I have realised that I am probably
- trying to ask for more than is reasonable. I still think the basic
- idea is sound but I had forgotten the necessity for dealing with
- select/update/delete "where" clauses that an application might use
- against the view. Also I was, to an extent, confusing the use of a
- Stored Procedure in a View and also within a cursor.
-
- I still think that being able to but Stored Procedures under views
- could be helpful but this is bound to have a performance hit as the
- Stored Procedure would have to provide all possible rows to the
- external Select/Update/Delete and have the external process select
- the correct rows based on the appropriate "where" clause. This would
- mean that no filter or index could be used to speed the process
- unless very complex code was written to parse the "where" clause in
- the Stored Procedure (Yuck).
-
- So having considered this further and before anybody replies I would
- like to change my suggestion to extend the use of Stored Procedures
- in Cursors. Currently it is possible to declare a SP as a cursor,
- Open it and fetch results from the SP. I would like to see this
- extended so that you can declare the SP as a cursor for update. Then
- you could open it and fetch from it but also be able to pass data
- back into it. Now this could be done using the PUT command familiar
- from Insert cursors or UPDATE WHERE CURRENT OF or something new. It
- does not matter as long as it is possible to change the values
- originally passed to the SP in the OPEN statement. One of these
- values can be an action identifier used by the SP to know what action
- to take with the new data.
-
- This facility would be very useful where you have an array of data to
- process and do not want the cost of re-opening or re-executing the SP
- each time. This can be a major factor especially if the SP does some
- setup work each time. Also it would allow the SP to handle arrays
- and totalling for the transaction instead of needing to write that
- into the cursor processing code.
-
- I hope that this clarifies my ideas and steps neatly around any
- rude comments darting in my direction.
-
- Cheers - Jim
- --------------------------------------------------------------------
- Name: Jim Gordon Internet: jgordon@ssf-sys.DHL.COM
- Company: DHL Systems Inc Phone: (415) 358-5911 (Work)
- Address: 1700 S. Amphlett Blvd. (415) 882-9728 (Home)
- San Mateo, CA 94402 Fax: (415) 571-6429
- --------------------------------------------------------------------
-
-
-