Man kann ja auch im Vorfeld die Feldliste holen und testen, ob gleich:
(oder halt die
SQL-Anweisung als String zusammenbauen und ausführen)
Code:
SET TERM ^;
CREATE OR ALTER PROCEDURE sp_get_columns
(
tablename VARCHAR(30),
uppercase BOOLEAN = true
)
RETURNS
(
feldliste VARCHAR(2000)
)
AS
DECLARE feldname VARCHAR(40) = '';
BEGIN
feldliste = '';
FOR SELECT rdb$field_name FROM rdb$relation_fields
WHERE UPPER(rdb$relation_name) = UPPER(:tablename)
ORDER BY rdb$field_position
INTO :feldname
DO BEGIN
IF (feldliste <> '') THEN feldliste = feldliste || ',';
feldliste = feldliste || TRIM(feldname);
END
IF (NOT uppercase) THEN feldliste = LOWER(feldliste);
END^
SET TERM ;^