如何判断一个数据库是系统的数据库或者用户的数据库???
请问:SQL中,如何判断一个数据库是系统的数据库或者是用户的数据库???
谢谢!在线等待!
问题点数:20、回复次数:8Top
1 楼xluzhong(Ralph)回复于 2005-04-05 13:33:32 得分 5
select type=when type='u' then '用户'
when type='s' then '系统'
from sysobjects where id=object_id('表名')Top
2 楼jingxijun(一笑)回复于 2005-04-05 13:33:51 得分 5
如:
select xtype,* from sysobjects where name='car_article'
若xtype 是‘U’就是用户数据库,'S'是系统数据库Top
3 楼truelang(truelang)回复于 2005-04-05 13:44:45 得分 0
谢谢以上两位Top
4 楼truelang(truelang)回复于 2005-04-05 13:57:35 得分 0
可我是要用来判断数据库的,而不是某个表,请进一步指点,谢谢!
比如说,现在有个数据库名为“DBMIS”,那么要怎么进行判断???Top
5 楼j9dai(翔)(DoItNow)回复于 2005-04-05 14:07:51 得分 0
关注 + 友情UPTop
6 楼jingxijun(一笑)回复于 2005-04-05 14:32:20 得分 10
select * from sysdatabases where sid=0x01查出系统保留的数据库
name
---------
Northwind
master
model
msdb
pubs
tempdb
select * from sysdatabases where sid<>0x01查出后建的数据库
name
---
6k
car
dvbbs7
jjoffice
(所影响的行数为 4 行)
在SQL2000企业版上测过
Top
7 楼truelang(truelang)回复于 2005-04-05 15:11:01 得分 0
这个我也有试过,不过如果你新建数据库时候把路径改变(不用默认的),则其sid也为0x01
不知道这个sid表示什么来的Top
8 楼truelang(truelang)回复于 2005-04-05 15:13:18 得分 0
select * from sysdatabases where dbid<=6
查出系统保留的数据库
select * from sysdatabases where dbid>6
查出后建的数据库
我现在是用这个方法,但我不知道这个“6”是不是一定不变的,还是????
Top




