sp_helptext存储过程用于显示已编译对象的源代码。
sp_helptext是Sybase ASE内置的存储过程,可从任何位置调用。
但实际上,如果直接使用,常常会得到(令人头大的)错误提示:
Msg 17461
Object does not exist in this database.
究其原因,是因为Sybase ASE内置的存储过程均在sybsystemprocs数据库中。
如果希望用sp_helptext查看其源码,可使用如下方法:
(以查看sp_recompile内置存储过程的源码为例)
方法一:
use sybsystemprocs
go
sp_helptext sp_recompile
go
方法二:
sybsystemprocs..sp_helptext sp_recompile
go
Sybase官方手册中说的“The compiled object must be in the current database.”的意思,请根据前文提供的SQL语句自行领会……
参考来源:
文章介绍了在SybaseASE中使用sp_helptext存储过程查看对象源代码时可能出现的问题,即由于对象不在当前数据库导致的错误17461。提供了解决方案,即切换到sybsystemprocs数据库或使用特定语法来查看内置存储过程的源码。方法一是在使用前先执行usesybsystemprocs,然后调用sp_helptext;方法二是直接用sybsystemprocs..sp_helptext命令。
https://stackoverflow.com/questions/50708663/in-sybase-ase-sp-helptext-shows-suceeded-but-nothing-else-is-displayed

1499

被折叠的 条评论
为什么被折叠?



