JavaDAO如何输出oracle存储过程的执行语句?

来源:百度知道 编辑:UC知道 时间:2024/09/22 12:42:36
没用过存储过程,平时都是在代码里写SQL语句,所以要调试就把sql这个字符串打印输出,但是如果是执行存储过程,怎么输出它的最终执行语句呢?

如果存储过程不复杂可以直接在代码里做。比如创建表,插入数据,读取数据,在dao中批量执行就OK了。
不知道你是不是想输出存储过程里面执行的语句,验证存储过程正确性或者存储过程中执行语句的速度。如果是java程序获取存储过程的语句,在存储过程中定义一个变量用来存放需要执行的语句,执行这条语句用EXECUTE IMMEDIATE。例如定义变量
v_sql := 'insert into test(test_col) values(1)';
执行语句
execute IMMEDIATE v_sql;
提交
commit;
然后把需要输出的语句放入临时表。
如果需要在java程序中输出则直接读取这张表相应记录就可以了。