In SQL the semicolon is only specified at the end of the statement.
And the compound statement is:
This is the routine body (of a running test stored procedure):
Begin -- Begin without semi colon!!!
Declare NbrRows Integer Default 0;
select 1 Into NbrRows
If NbrRows <> 0 -- No semicolon here!!!
Then Delete from InventCum;
Insert Into InventCum
Select ItemNo, Sum(Quantity), Current_Timestamp, Session_User
Group By ItemNo;
The first statement is not before the end of the first statement after
Mit freundlichen Grüßen / Best regards
"Shoot for the moon, even if you miss, you'll land among the stars." (Les
"If you think education is expensive, try ignorance." (Derek Bok)
"What is worse than training your staff and losing them? Not training them
and keeping them!"
?Train people well enough so they can leave, treat them well enough so they
don't want to.? (Richard Branson)
Von: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxxxxxxxx] Im Auftrag
von Jack Woehr via MIDRANGE-L
Gesendet: Tuesday, 07.2 2023 17:46
An: Midrange Systems Technical Discussion
Cc: Jack Woehr
Betreff: Re: Why did Stored Procedure execute?
Didin't the semicolon after the CREATE PROCEDURE end the CREATE?
And then the BEGIN stands there all alone and executes itself.
The CREATE PROCEDURE MYPROC should have been followed by a parentheses, not
On Tue, Feb 7, 2023 at 9:42 AM Birgitta Hauser <Hauser@xxxxxxxxxxxxxxx>
... the (SQL) Source code in a SQL Routine (Stored Procedure, Trigger
and User defined function) is always embedded in a compound statement
between Begin and End) You may can refrain from the compound statement
if there is only a single statement to be executed in the routine.
As an Amazon Associate we earn from qualifying purchases.