This is a discussion on Re: Multi command files and running them from the command prompt within the DB2 forums, part of the Database Server Software category; --> Use the -td§ option [where § is the desired character]. Details are in the section titled Command Line Processor ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Use the -td§ option [where § is the desired character]. Details are in the section titled Command Line Processor Options in the Command Reference. "Derek Clarkson" <dclarkson@waterwerks.com.au> wrote in message news:3f406c14@mail.netspeed.com.au... > Hello, > I have a problem. I have a number of functions which I need to load. > However these functions contain embedded semi-colons. For example > > (1) CREATE FUNCTION REVERSE(INSTR VARCHAR(4000)) RETURNS VARCHAR(4000) > (2) begin atomic > (3) return 'ABC'; > (4) end > > The problem is that if I have a .sql file containing this function and run > it like this: > > db2 -t -f script.sql > > Then db2 gets to the semi-colon at the end of line 3 and assumes it is the > end of the create function command. Which generates an error. If I run the > script without the -t flag then DB2 gets to the end of the first line and > assumes thats it, resulting in another error. > > The only way we have found to run this is to apply back slashes to each > line, resulting in: > > (1) CREATE FUNCTION REVERSE(INSTR VARCHAR(4000)) RETURNS VARCHAR(4000) \ > (2) begin atomic \ > (3) return 'ABC'; \ > (4) end > > Our preferred way would be to not have the back slashes and use semi-colons > to delimit commands. However the DB2 interpreter seems to not be able to > handle nested statements in functions like this. > > How have you guys handled this situation ? any thoughts or experience would > be appreciated. > > cio > Derek. |
| Thread Tools | |
| Display Modes | |
|
|