Joel,
If the first parameter on your RUNSQL command is a positional parameter why couldn't you drop the variable and code it directly as:
RUNSQL 'create table qtemp/Client ( FieldOne char( 1 ), +
FieldTwo char( 1 ), +
FieldThree char( 1 ), +
Client numeric( 6, 0 ) )'
Paul Morgan
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Stone, Joel
Sent: Friday, May 11, 2012 3:02 PM
To: Midrange Systems Technical Discussion
Subject: easier SQL statements in CL
There MUST be a better method of coding SQL in a CL source member.
Here is what an SQL stmt might look like that I created today:
PGM
DCL &SQLCMD type(*CHAR) len(1000)
chgvar &sqlCmd ('create table qtemp/sqltemp1' +
*tcat ' (fld1 char(1),' +
*tcat ' fld2 char(1),' +
*tcat ' fld3 char(1),' +
*tcat ' clientN numeric(6,0))')
RUNSQL(&SQLCMD)
I recall that others like to create a string with the MSG commands.
Is it possible to code the straight SQL statements with no tricks in a CL source member (like in the old punch-card days to suck in a few data records?) :)
Any method would be great if I can skip all the *tcats, and quotes mess.
In the example below, is there a simple way to copy everything between the "/*" to a source member and run that?
Or any other method to keep the CL together with the SQL commands in the same member - without using quotes or tcat's.
Something like:
PGM
DCL &SQLCMD type(*CHAR) len(1000)
//start SQL
/*
create table qtemp/sqltemp1 (fld1 char(1) ---
fld2 char(1) |
fld2 char(1) |---- would like to run this nice readable SQL command in CL without quotes and tcat's
client numeric(6,0)) ___|
/*
RUNSQL
Thanks!
______________________________________________________________________
This outbound email has been scanned for all viruses by the MessageLabs Skyscan service.
For more information please visit
http://www.symanteccloud.com
______________________________________________________________________
As an Amazon Associate we earn from qualifying purchases.