sql检查表是否存在
答案:3 悬赏:60 手机版
解决时间 2021-12-18 19:11
- 提问者网友:临风不自傲
- 2021-12-17 21:37
sql检查表是否存在
最佳答案
- 五星知识达人网友:北城痞子
- 2021-12-17 22:24
你是什么数据库, 检查表是否存在呀?
SQL Server 2005 以上版本数据库的话
1> select top 10 name from sys.tables
2> go
name
------------------------------------------
BLOCK_TYPE_LINK
STOCK
STOCK_BLOCK_LINK
STOCK_DAY
SALE_REPORT
tb
TestSara
TestWhyypp
TestTDWS
TestWZY
(10 行受影响)
你看看行不行?
就是通过 查询 sys.tables 来判断, 某个表, 是否存在。
SQL Server 2005 以上版本数据库的话
1> select top 10 name from sys.tables
2> go
name
------------------------------------------
BLOCK_TYPE_LINK
STOCK
STOCK_BLOCK_LINK
STOCK_DAY
SALE_REPORT
tb
TestSara
TestWhyypp
TestTDWS
TestWZY
(10 行受影响)
你看看行不行?
就是通过 查询 sys.tables 来判断, 某个表, 是否存在。
全部回答
- 1楼网友:北方的南先生
- 2021-12-17 23:19
objectproperty : 返回当前数据库中对象的有关信息
语法 : objectproperty ( id , property )
例如:
objectproperty (object_id(n'authors') , n'istable') = 1
或
select * from dbo.sysobjects where object_id(n'mytable') and objectproperty(id, n'istable') = 1
object_id:返回数据库对象标识号。n是显式的将非unicode字符转成unicode字符,它来自 sql-92 标准中的 national(unicode)数据类型,用于扩展和标准化,在这里可以不用,写作object_id(perpersondata)。
objectproperty:返回当前数据库中对象的有关信息。1表“真”。同样可以写成objectproperty(id, susertable) = 1。
整条语句的意思是判断数据库里有没有存在perpersondata这样一张表。
整条语句可以简写成:
if exists (select * from sysobjects where objectproperty(object_id('perpersondata'),'istable') = 1)
判断mytalbe对象是否是一个表。
if exists (select * from dbo.sysobjects
where id = object_id(n'mytable') and objectproperty(id, n'isusertable') = 1)
判断myproc对象是否是一个存储过程。
if exists (select * from dbo.sysobjects
where id = object_id(n'myproc') and objectproperty(id, n'isprocedure') = 1)
判断myfun对象是否是一个自定义、标量值函数。
if exists (select * from dbo.sysobjects
where id = object_id(n'myfun') and objectproperty(id, n'isscalarfunction') = 1)
判断myfun对象是否是一个表值函数。
if exists (select * from dbo.sysobjects
where id = object_id(n'myfun') and objectproperty(id, n'istablefunction') = 1)
- 2楼网友:持酒劝斜阳
- 2021-12-17 22:45
检查表是否存在select count(tname) from tab where tname = upper('表名');
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯