78

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
Paolo Forgia
  • 6,572
  • 8
  • 46
  • 58
Hélder Gonçalves
  • 3,822
  • 13
  • 38
  • 63

3 Answers3

158

Your query should be:

SELECT T1.DATE1, T1.DATE2, T1.DATE3
INTO V_DATE1, V_DATE2, V_DATE3
FROM T1
WHERE ID='X';
Paolo Forgia
  • 6,572
  • 8
  • 46
  • 58
2
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

Bruno Peres
  • 15,845
  • 5
  • 53
  • 89
Gerard
  • 301
  • 2
  • 9
0

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';

Noor
  • 1
  • 2
  • 1
    If you have a new question, please ask it by clicking the [Ask Question](https://stackoverflow.com/questions/ask) button. Include a link to this question if it helps provide context. - [From Review](/review/late-answers/31235402) – Ana GH Mar 08 '22 at 11:17