我的 sql 语句是动态构建的。我有类似的东西
strSql := 'select name, tel, adress, activity_id as filtre_1, country_id as filtre_2, ... from ... where ...'
我可以有1到n个过滤器,filter_1可以是activity_id作为country_id,顺序不重要。
我如何检索 filter_1、filter_2 的值,因为我不知道有多少请求发回?
通常要检索值,我会:
FOR rowResult IN EXECUTE strSql LOOP
name := rowResult.name
tel := rowResult.tel
adress := rowResult.adress
filtre_1 := rowResult.filtre_1
filtre_2 := rowResult.filtre_2
END LOOP;
由于无法做到这一点,我喜欢做类似的事情
FOR rowResult IN EXECUTE strSql LOOP
name := rowResult.name
tel := rowResult.tel
adress := rowResult.adress
filtre_1 := rowResult("filtre_1")
filtre_2 := rowResult("filtre_2")
END LOOP;
但rowResult(stringfield)
不存在。
有人有想法吗?
谢谢