![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
#3
| |||
| |||
|
|
Aha, just found it in the documentation. Row producing procedures (and hence Table Procedures) cannot call a procedure. |
#4
| |||
| |||
|
|
Aha, just found it in the documentation. Row producing procedures (and hence Table Procedures) cannot call a procedure. Irksome, but better to know about it than not. |
#5
| |||
| |||
|
|
On Fri, 20 Jan 2012 12:26:08 +0000 (UTC) Roy Hann <specially (AT) processed (DOT) almost.meat> wrote: Aha, just found it in the documentation. Row producing procedures (and hence Table Procedures) cannot call a procedure. Irksome, but better to know about it than not. Actually, it's a Good Thing (TM). First, execution of a procedure can entail any number of actions. The caller must be prepared to deal with any kind of return status. Where in the SELECT syntax could you accept, much less handle that status? Second, SELECT shouldn't have side effects. To avoid them would be to restrict the procedures that a table-producing procedure might call to other table-producing procedures. If table-producing procedures can call other table-producing procedures, then the system is forced to keep track of which procedures may call which others, and prevent updates to a called procedure that change it from being SELECT-only. There's a forest of complexity in there, and not much benefit, if any, to the user. |
#6
| |||
| |||
|
![]() |
| Thread Tools | |
| Display Modes | |
| |