473,507 Members | 5,060 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

How do I do this in DB2

Using AS400 DB2, AquaData Studio SQL editor

I am new to DB2 coming from a SQL Server background. How do I get
something like the following to work?

BEGIN
DECLARE var1 char;
set var1='x';
select * table
where column1 =var1;

END

This gives me the following error:
Error: [SQL0104] Token VAR1 was not valid. Valid tokens: SECTION.
I am not trying to create stored procedures or anything. I am just
creating a few utility scripts that I want to save and run in the
editor as needed. The scripts contain a number of select statements so
I was hoping I could just set a variable at the beginning and not have
to modify each select statement. Something similar to what I have
below.
BEGIN
DECLARE var1 char;

set var1='x';

select * table1
where column1 =var1;

select * table2
where column1 =var1;

select * table3
where column1 =var1;

END
Thanks,
Jim

Apr 6 '06 #1
7 2127
Hi Jim,
We need to give the length of the CHAR datatype like CHAR(10).
You can find details about MS SQL Server to DB2 Conversion in
http://www.redbooks.ibm.com/abstracts/sg246672.html

Apr 6 '06 #2
Hi
the data declaration , and SQL declaration must be in two diffrent
sections.

and also set Var1 = 'x' must be with in porgram , not in sql section

Apr 6 '06 #3
CREATE PROCEDURE XIREL2.proc_1 ( )
DYNAMIC RESULT SET 1

BEGIN
DECLARE var1 varchar(10);
DECLARE v_query VARCHAR(6000);
DECLARE query1 CURSOR WITH RETURN TO CLIENT FOR stmt;
set var1='X';

set v_query= ' select * table ' || ' where column =var1';

PREPARE stmt FROM v_query;
OPEN query1;
END

Apr 6 '06 #4
since your scripts fetching the data i.e nothing but "result set" in
db2
so possible correction will be
CREATE PROCEDURE p1
DYNAMIC RESULT SETS 1

BEGIN
DECLARE var1 char;
DECLARE query1 VARCHAR(6000);
DECLARE cursor1 CURSOR WITH RETURN TO CLIENT FOR stmt;
set var1='x';

set query1= 'select * table' ||''|| ' where column1 =var1';
PREPARE stmt FROM cursor1;
OPEN cursor1;

END

Apr 6 '06 #5
Thanks to everyone for you replies. I seems the approach is radically
different in DB2 requiring the creation of procedures and the use of
cursors (generally frowned upon in SQL Server)

Jim

Apr 10 '06 #6
jl*****@gmail.com wrote:
Thanks to everyone for you replies. I seems the approach is radically
different in DB2 requiring the creation of procedures and the use of
cursors (generally frowned upon in SQL Server)

Ehem... if you just state:
SELECT * FROM T
In T-SQL. What do think you're getting if not a cursor with RETURN TO
CLIENT?
The SQL/PSM Standard simply spells it out.

Cheers
Serge
--
Serge Rielau
DB2 Solutions Development
IBM Toronto Lab
Apr 10 '06 #7
It's been a while since I have done any heavy duty T-SQL development
but I do recall the use of cursors was discouraged because they were
considered 'expensive' resource-wise. I believe these were actually
server cursors. Results from n select statement were just refered to as
result sets. I suspect this is the same as a DB2 cursor?

I look forward to exploring the differences between the two DBs

Thanks,
Jim

Apr 10 '06 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
3328
by: James | last post by:
I have a from with 2 fields: Company & Name Depening which is completed, one of the following queries will be run: if($Company){ $query = "Select C* From tblsample Where ID = $Company...
5
2738
by: Scott D | last post by:
I am trying to check and see if a field is posted or not, if not posted then assign $location which is a session variable to $location_other. If it is posted then just assign it to...
2
2711
by: Nick | last post by:
Can someone please tell me how to access elements from a multiple selection list? From what ive read on other posts, this is correct. I keep getting an "Undefined variable" error though... Form...
2
2528
by: Alexander Ross | last post by:
I have a variable ($x) that can have 50 different (string) values. I want to check for 7 of those values and do something based on it ... as I see it I have 2 options: 1) if (($x=="one") ||...
0
3258
by: Dan Foley | last post by:
This script runs fine, but I'd like to know why it's so slow.. Thanks for any help out there on how i can make it faster (it might take up to 5 min to write these 3 export files whith 15 records...
5
3191
by: Lee Redeem | last post by:
Hi there I've created abd uploaded this basic PHP script: <html> <head> <title>PHP Test</title> </head> <body> <H1 align="center">
5
10035
by: christopher vogt | last post by:
Hi, i'm wondering if there is something like $this-> to call a method inside another method of the same class without using the classname in front. I actually use class TEST { function...
6
2653
by: Phil Powell | last post by:
Ok guys, here we go again! SELECT s.nnet_produkt_storrelse_navn FROM nnet_produkt_storrelse s, nnet_produkt_varegruppe v, nnet_storrelse_varegruppe_assoc sv, nnet_produkt p WHERE...
1
2182
by: Michel | last post by:
a site like this http://www.dvdzone2.com/dvd Can you make it in PHP and MySQL within 6 weeks? If so, send me your price 2 a r a (at) p a n d o r a . b e
11
3135
by: Maciej Nadolski | last post by:
Hi! I can`t understand what php wants from me:( So: Cannot send session cache limiter - headers already sent (output started at /home/krecik/public_html/silnik.php:208) in...
0
7223
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7314
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7372
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7030
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7482
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5623
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5041
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
3179
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1540
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.