如何用SQL判断一个存储过程是系统的还是用户定义的

fly_miss 2004-12-03 08:41:53
如题:
...全文
105 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Fred_Mark 2004-12-03
  • 打赏
  • 举报
回复
好像status列并不能说明什么问题哦。

select category, * from sysobjects where xtype='p' order by category
好像是这个字段category,我也不太确定。。
txliceuhe 2004-12-03
  • 打赏
  • 举报
回复
仔细看看 status 这个列,搂主~~~~~
Liroyal 2004-12-03
  • 打赏
  • 举报
回复
系统存储过程一般挂在master库下(可在任意地方使用),msdb里面也有一些(要加库名引用).
除非楼主直接用这两个库存储数据,要不然在你的数据库下根本没有系统存储过程.
楼主这个问题问得纳闷.
heyixiang 2004-12-03
  • 打赏
  • 举报
回复
sysobjects的字段xtype和type有什么不同?
heyixiang 2004-12-03
  • 打赏
  • 举报
回复
回复: 8LY8Apollo(阿波罗)

SELECT COUNT(*)
FROM sysobjects
WHERE (DATEDIFF([day], crdate, CONVERT(DATETIME, '2001-01-01 00:00:00', 102)) < 0)
AND (xtype = 'P')

怎么我搜出来2000年以后有735条?照你这么说都是我自己定义的罗?晕!
realgz 2004-12-03
  • 打赏
  • 举报
回复
得 这个也写错!!!
select name,status from sysobjects where xtype='P'

realgz 2004-12-03
  • 打赏
  • 举报
回复
嘿嘿

select name,status from sysobjects where xtypes='P'

仔细研究一下,怎么系统的有点不一样~~~~~~~~~
Liroyal 2004-12-03
  • 打赏
  • 举报
回复
系统存储过程都是“sp_sys”开头的
8LY8Apollo 2004-12-03
  • 打赏
  • 举报
回复
select * from sysobjects where type='p'
看创建时间,2000年以后的一般都是用户自定义的。
handycyw 2004-12-03
  • 打赏
  • 举报
回复
字段:type:
type char(2) 对象类型。可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
handycyw 2004-12-03
  • 打赏
  • 举报
回复
看看sysobjects:
字段:xtype char(2) 对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程

34,591

社区成员

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

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