Bill,
To the best of my knowledge somewhere in the SQL specification for Trigger, 
Stored Procedure, Stored Function definitions specific rules are defined as to 
the proper syntax/definitions of these items.

One of the rules for triggers in no input or output arguments.  I am a big 
believer in adhering as close to SQL syntax as possible J.I.C. RBase enforces 
strict SQL rules. 

 Jim Bentley
American Celiac Society
[email protected]
tel: 1-504-737-3293



----- Original Message ----
From: MikeB <[email protected]>
To: RBASE-L Mailing List <[email protected]>
Sent: Thu, January 14, 2010 3:54:09 PM
Subject: [RBASE-L] - Re: date tracking question

The RETURN in a stored procedure doesn't require a value after it if when 
the procedure is created there is no RETURN specified in the PUT.

It is during the PUT that the requirement for the placeholder for the 
STP_RETURN value in the engine is set.  This is what distinguishes the 
calling in the engine to a value or VOID when no return is expected.


----- Original Message ----- 
From: "James Bentley" <[email protected]>
To: "RBASE-L Mailing List" <[email protected]>
Sent: Thursday, January 14, 2010 4:49 PM
Subject: [RBASE-L] - Re: date tracking question


Bill,

Actually RStyle does not distinguish and always adds a RETURN if missing and 
will allow syntax
RETURN retunvalue

RStyle has no means to determine whether the item is a COMMAND FILE, STORED 
PROCEDURE, STORED FUNCTION, or TRIGGER. To do so would probably require some 
form of meta data to indicate intended use.

Jim Bentley
American Celiac Society
[email protected]
tel: 1-504-737-3293




________________________________
From: Bill Downall <[email protected]>
To: RBASE-L Mailing List <[email protected]>
Sent: Thu, January 14, 2010 12:00:43 PM
Subject: [RBASE-L] - Re: date tracking question

It's not so much that triggers return values, but stored procedures can. In 
the help files, read "using stored procedures."

For example, you can call a stored procedure to set a variable to the value 
after the last "RETURN value" statement.

Dennis, you were still the developer of R:Style back in 6.5 when "RETURN 
value" became a valid syntax. I can't remember what change you had to make 
to R:Style then, but you had to do something to distinguish it from the 
RETURN at the end of a command file.

Bill





On Thu, Jan 14, 2010 at 12:32 PM, James Bentley <[email protected]> 
wrote:

Albert,
>>I am curious where you found this tidbit of info in the documentation.
>
>>I was under the impression that Triggers were not supposed to RETURN 
>>values since They are automatically called and have no way for the user to 
>>interact with them after they complete execution.
>
>> Jim Bentley
>>American Celiac Society
>[email protected]
>>tel: 1-504-737-3293
>
>
>
>>----- Original Message ----
>>From: Albert Berry <[email protected]>
>>To: RBASE-L Mailing List <[email protected]>
>>Sent: Thu, January 14, 2010 10:34:19 AM
>>Subject: [RBASE-L] - Re: date tracking question
>
>>Hi, all. The system expects the trigger to return a value to a calling
>>procedure. Zero is as good as anything.
>>Albert
>
>[email protected] wrote:
>>> Dennis:  I actually have no clue what the RETURN 0 is for.
>>> This code is in my notes document, I've never had a reason to
>>> use it yet, so this was just a copy and paste of someone else's
>>> suggestion.   I don't think I've ever used RETURN 0.
>>>
>>> Karen
>>>
>>>
>>>> Thanks,
>>>>
>>>> I’ve got a demo running nicely, thanks to you and Emmitt.
>>>>
>>>> What is the 0 after your returns?
>>>>
>>>>
>>>>
>>>>
>>>> *From:* [email protected] [mailto:[email protected]] *On Behalf Of
>>>> *[email protected]
>>>> *Sent:* Wednesday, January 13, 2010 4:22 PM
>>>> *To:* RBASE-L Mailing List
>>>> *Subject:* [RBASE-L] - Re: date tracking question
>>>>
>>>>
>>>>
>>>>
>>>> I think a variable is the ONLY way.  Here's example code:
>>>>
>>>> SET VAR trigger_executed INTEGER
>>>> IF trigger_executed = 1 THEN
>>>>    CLEAR VAR trigger_executed
>>>>    RETURN 0
>>>> ENDIF
>>>> ... {body of trigger}
>>>> SET VAR trigger_executed INTEGER = 1
>>>> RETURN 0
>>>>
>>>>
>>>>
>>>
>
>
>
>
>
>





Reply via email to