How to run createProcedure_ProcessServer.sql ? What means GO in SQL files for DB2

I first encountered such a construct when manually tried to create DB for IBM Business Process Manager:

….

GO
CALL  BPM_SET_LOB_INLINE_LENGTH(‘LSW_BPD_NOTIFICATION’, ‘ERROR_STACK_TRACE’, 4096)
GO
CALL  BPM_SET_LOB_INLINE_LENGTH(‘LSW_SNAPSHOT’, ‘CHANGE_DATA’, 16384)
GO
CALL  BPM_SET_LOB_INLINE_LENGTH(‘LSW_SNAPSHOT’, ‘DESCRIPTION’, 4096)

….

Of course running as usual db2 -t -f createProcedure_ProcessServer.sql did not work

Firstly, I thought that “GO” is a new reserved word for new utility CLPPLUS included in DB2 to substitute db2 executable, however, reality was simpler: This “GO” has the same role as @, usually on DB2 we separate stored procedures and call with @ and then run db2 -td@ -f … but these script of BPM should be run db2 -tdGO -f createProcedure_ProcessServer.sql , it is rarely used but -td allows up to 2 tokens as command separator🙂

Of course authors of this script risked that “GO” might be a part of some data object name or data, but it does not happen🙂

Why they decided to use GO (as if on MS SQL and some other RDBMS) instead of convenient @? Probably just to puzzle people🙂

Live and learn, live and learn…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: