Control statements – Sybase 12.4.2 User Manual

Page 259

Advertising
background image

CHAPTER 6 Using Procedures and Batches

239

DBISQL and batches

A list of semicolon-separated statements, such as the above, is parsed by

DBISQL before it is sent to the server. In this case, DBISQL sends each
statement individually to the server, not as a batch. Unless you have such
parsing code in your application, the statements would be sent and treated as a
batch. Putting a

BEGIN

and

END

around a set of statements causes DBISQL to

treat them as a batch.

Many statements used in procedures can also be used in batches. You can use
control statements (

CASE

,

IF

,

LOOP

, and so on), including compound

statements (

BEGIN

and

END

), in batches. Compound statements can include

declarations of variables, exceptions, temporary tables, or cursors inside the
compound statement.

The following batch creates a table only if a table of that name does not already
exist:

BEGIN

IF NOT EXISTS (

SELECT * FROM SYSTABLE

WHERE table_name = ’t1’ ) THEN

CREATE TABLE t1 (

firstcol INT PRIMARY KEY,

secondcol CHAR( 30 )

) ;

ELSE

MESSAGE ’Table t1 already exists’ ;

END IF

END

If you run this batch twice from DBISQL, it creates the table the first time you
run it. The next time you run it, it prints the message in the server log file on
Unix or on the server message window on Windows NT.

Control statements

There are a number of control statements for logical flow and decision making
in the body of the procedure or in a batch. The following is a list of control
statements available.

Advertising