如何在当前数据库下调用与系统存储同名的存储过程?

smile9961 2007-05-15 04:54:42
--存储过程
create proc dbo.[sp_help]
as
select 1
go

--drop proc [sp_help]

--调用
exec sp_help 与 exec ams.dbo.sp_help 执行结果一样; 即结果执行的是系统存储过程sp_help.感觉很奇怪,允许我建立这样的对象,却不允许调用,抑或是我没找到调用的方法?

当然我只是在测试时随便起了这么个名字,实际中我的存储过程没有与系统存储过程同名的。
...全文
212 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
smile9961 2007-05-22
  • 打赏
  • 举报
回复
应该就是由于优先级的关系,自建的不能被执行;但为什么还要允许建这样的存储过程呢?

好了,非常感谢各位的参与和解答,结帖了。
hb_gx 2007-05-22
  • 打赏
  • 举报
回复
存储过程的确可以跟系统存储过程一样
不过由于调用的时候是优先访问系统存储过程所有没办法取到你自己定义的存储过程

取存储过程名称的时候最好不要以sp_ xp_开头是为了怕今天的版本出现跟你现在的名称一样的存储过程,那样就会忽略掉你现有的存储过程

当然这也不是什么错误
就像你一个表里面有几条重复的记录
而你每次查询的时候用DISTINCT关键字忽略掉一样
wgzaaa 2007-05-22
  • 打赏
  • 举报
回复
你够大胆的,我只知道最好不要以sp_ xp_开头,而且,若以sp_开头,会优先访问master数据库,而且我试过,新建的根本打不开,告诉损坏,在syscomments中没有记录.可能是系统不能完全关闭这项功能,又得保证系统存储过程优先访问之间不好平衡而留下的bug吧
smile9961 2007-05-22
  • 打赏
  • 举报
回复
再頂一下,哪位來指点指点。
-狙击手- 2007-05-15
  • 打赏
  • 举报
回复
奇怪,事实上无法编辑这个过程的角本,

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧