在oracle FORM 由于和DB中的 不一样所以需要一个特定的API exec_sql系列 ,常常用来输出报表的东东 FORM dynamic SQL 动态SQL PL/SQL declare l_sql varchar2(2000); v_ConnID EXEC_SQL.CONNTYPE; v_Cursor EXEC_SQL.CURSTYPE; v_Ignore PLS_INTEGER;begin --
在oracle FORM 由于和DB中的 不一样所以需要一个特定的API exec_sql系列 ,常常用来输出报表的东东
FORM dynamic SQL 动态SQL PL/SQL
declare
l_sql varchar2(2000);
v_ConnID EXEC_SQL.CONNTYPE;
v_Cursor EXEC_SQL.CURSTYPE;
v_Ignore PLS_INTEGER;
begin
--... 你进行相应的 动态SQL 拼接的地方
--写内容
--执行查询 并且关闭相应的 连接资源
v_ConnID := EXEC_SQL.DEFAULT_CONNECTION;
v_Cursor := EXEC_SQL.OPEN_CURSOR(v_ConnID);
-- 使用 API EXEC_SQL.DEFINE_COLUMN( v_ConnID,v_Cursor, v_Count, v_Value, 100); 进行返回值的定义
EXEC_SQL.PARSE(v_ConnID, v_Cursor, l_sql, EXEC_SQL.V7);
v_ignore := EXEC_SQL.EXECUTE(v_ConnID, v_Cursor);
--写入数据 使用 从游标抓取数据 然后 获取值的API
--WHILE (EXEC_SQL.FETCH_ROWS(v_ConnID, v_Cursor ) > 0 ) LOOP
-- EXEC_SQL.COLUMN_VALUE(v_ConnID, v_Cursor, v_Count, v_Value);
--END LOOP;
EXEC_SQL.CLOSE_CURSOR(v_ConnID, v_Cursor);
EXEC_SQL.CLOSE_CONNECTION(v_ConnID);
end; 本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网