Select multiple columns into multiple variables

How can I do in one select with multiple columns and put each column in a variable?

Something like this:

--code here
V_DATE1 T1.DATE1%TYPE;
V_DATE2 T1.DATE2%TYPE;
V_DATE3 T1.DATE3%TYPE;

SELECT T1.DATE1 INTO V_DATE1, T1.DATE2 INTO V_DATE2, T1.DATE3 INTO V_DATE3
FROM T1
WHERE ID='X';

--code here

Upvotes: 83

Views: 162870

Answers (3)

Noor
Noor

Reputation: 36

Select Into is used in Embedded SQL like SQLRPGLE. In SQL session like iSeries Navigator INTO clause is not allowed.

Embedded SQL select col1, col2 into:col1X, :col2X from T1 where ID ='X';

Online session(iSeries Nav or DbVeaver etc)

select col1 as Col1X, col2 as col2X from T1 where ID ='X';

Upvotes: 0

Gerard
Gerard

Reputation: 301

SELECT
    V_DATE1 = T1.DATE1,
    V_DATE2 = T1.DATE2,
    V_DATE3 = T1.DATE3
FROM T1
WHERE ID='X';

I had problems with Bob's answer but this worked fine

Upvotes: 2

Your query should be:

SELECT T1.DATE1, T1.DATE2, T1.DATE3
INTO V_DATE1, V_DATE2, V_DATE3
FROM T1
WHERE ID='X';

Upvotes: 176

Related Questions