我正在获取存储在数据库中的查询,尝试使用参数执行它,然后处理结果。
DECLARE
SQLSTR VARCHAR(5000);
BEGIN
SELECT SelectString INTO SQLSTR FROM MySelectTable WHERE Name = 'QueryOfDoom';
EXECUTE IMMEDIATE SQLSTR USING 1;
END;
执行查询但不返回任何内容。我在这里搜索过,发现你无法从一个集团返回数据。没关系。但是,我如何获取数据?因为它是动态的,所以如果我必须定义一个表结构来批量收集数据并随后从中选择,那么它会让我觉得麻烦。有更简单的方法吗?
答案 0 :(得分:1)
你必须这样使用。您正在使用PLSQL的方式无法使用using
子句,因为它找不到任何绑定。
DECLARE
SQL1 VARCHAR(5000);
SQLSTR VARCHAR(5000);
BEGIN
sql1:= 'SELECT SelectString FROM MySelectTable WHERE Name = :QueryOfDoom';
EXECUTE IMMEDIATE SQL1 into SQLSTR USING 1;
END;