Here is an example of exec_sql on forms 10g:
PROCEDURE ejemplo1 IS
campo1 varchar2(11);
campo2 varchar2(100);
campo3 varchar2(6);
source_connid EXEC_SQL.ConnType;
destination_connid EXEC_SQL.ConnType;
source_cursor EXEC_SQL.CursType;
destination_cursor EXEC_SQL.CursType;
ignore PLS_INTEGER;
BEGIN
Go_block('srl2');
first_record;
set_block_property('srl2',insert_allowed, property_true);
begin
source_connid := EXEC_SQL.DEFAULT_CONNECTION;
EXEC_SQL.PARSE(source_connid, source_cursor,
'select campo1, campo2, campo3 from mi_tabla
where rownum < 11 '
); EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor,
1, campo1, 11);
1, campo1, 11);
EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor,
2, campo2, 100);
2, campo2, 100);
EXEC_SQL.DEFINE_COLUMN(source_connid, source_cursor,
3, campo3, 11);
3, campo3, 11);
ignore := EXEC_SQL.EXECUTE(source_connid,
source_cursor);
source_cursor);
EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,
1,campo1);
EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,1,campo1);
2,campo2);
EXEC_SQL.COLUMN_VALUE(source_connid, source_cursor,
3,campo3);
3,campo3);
next_record;
ELSE
EXIT;
END IF;
EXEC_SQL.CLOSE_CURSOR(source_connid, source_cursor);
EXEC_SQL.CLOSE_CONNECTION(source_connid); exception when others then
begin
EXEC_SQL.CLOSE_CURSOR(source_connid,
source_cursor);
source_cursor);
exception when others then null;
end;
begin
EXEC_SQL.CLOSE_CONNECTION(source_connid);
exception when others then null;
end;
show_message('Error:'||sqlerrm,'E',true);
end;
END;
No comments:
Post a Comment