Hallo Michael,
ein select ... into kannst Du dann verwenden, wenn sicher ist, dass du genau einen Ergebnis-Satz erhälst.
Liefert das Select-Statement mehr als einen Satz, wird der erste Satz in die Ausgabe-Felder übernommen und der SQLCOD auf -811 gesetzt.
Der Select ... into beinhaltet also Declare, Open, Fetch und Close.
So kann z.B. die nächste laufende Nr. in einem einzigen SQL-Statement ermittelt werden.
Alternativ kann man auch ein Set-Statement verwenden:PHP-Code:C/EXEC SQL
C+ Select Coalesce(Max(LfdBeh) + 1, 1)
C+ into :LfdNr
C+ from MyFile
C+ where Firma = :ParmFirma
C+ and Sendung = :ParmSendung
C/END-EXEC
Werden mehrere Sätze zurückgegeben, gilt das gleiche wie beim Select ... into
BirgittaPHP-Code:C/EXEC SQL
C+ Set :LfdNr = Select Coalesce(Max(LfdBeh) + 1, 1)
C+ from MyFile
C+ where Firma = :ParmFirma
C+ and Sendung = :ParmSendung
C/END-EXEC
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks