博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle toda和pl/sql匪夷所思的差异
阅读量:5772 次
发布时间:2019-06-18

本文共 757 字,大约阅读时间需要 2 分钟。

在编写一个存储过程的时候,起初因为是同事写的,它是在toad中写的,已经写好了,需要我进行一下改造,于是我使用PL/SQL打开后进行修改并编译通过,然后在PL/SQL进行了测试,奇怪的是测试的时候PL/SQL显示一直在执行,一直不能完成执行。起初我以为是存储过程的写的有问题,于是远程到服务器上用TOAD 测试,结果TOAD执行只需要2s就搞定了。所以十分不解TOAD 和PL/SQL的差异为何如此之大,是我的代码写的有问题吗?

  存储过程其实也就是执行了以下的代码:

SQLSTR := 'INSERT INTO A(a1,a2,SHAPE)                              SELECT D.a1,D.a2,SDE.ST_INTERSECTION (:1,D.SHAPE)                              FROM '||tabname||' D WHERE SDE.ST_INTERSECTS(:2,D.SHAPE)=1';      EXECUTE IMMEDIATE SQLSTR USING MYPOLY, MYPOLY2;

在toad中我使用如下如下语句执行:

exec test_pro('POLYGON ((10.01 20.03, 20.94 21.34, 35.93 10.04, 10.01 20.03))')

整个过程只需要2s,为何pl/sql死活不能执行结束?因为之前在PL/SQL也写过像上一篇中写道的存储过程,执行的也很成功,并非是设置的原因造成的。各位是否遇到过此类问题,百思不得其解中。

转载于:https://www.cnblogs.com/Ferdinand/archive/2012/10/22/2734581.html

你可能感兴趣的文章
Linux下PHP Oracle客户端扩展(OCI8)安装
查看>>
MySQL主从配置
查看>>
windows环境中python3.5下安装paramiko
查看>>
群集技术全接触
查看>>
基于RTSP的实现多媒体文件下载
查看>>
epoll的一点总结
查看>>
grub密码
查看>>
AS3实用小知识
查看>>
golang中recover和panic用法
查看>>
我的友情链接
查看>>
PingingLab传世经典系列《CCNA完全配置宝典》-4.2 PPP基本配置
查看>>
我的友情链接
查看>>
IT人士的知识管理-第一篇
查看>>
产生随机数
查看>>
[cocos2d-x]针对不同的设备,选取不同的自适应图片
查看>>
Juniper SRX防火墙IPSec SA Lifetime showing "expired"
查看>>
项目可行性评估
查看>>
Java操纵MongoDB_2(应用场景设置)
查看>>
zookeeper - curator的监听事件
查看>>
Oracle基本信息检查
查看>>