永发信息网

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  来判断, 某个表, 是否存在。
全部回答
  • 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('表名');
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯