咖喱碗糕`

`∧ ∧︵
ミ^ō^ミ灬)~ ~我是只可爱的狐狸```
http://freedom2130.cnblogs.com
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

判断数据库某个表是否存在

Posted on 2005-09-15 00:48  刹那间我存在  阅读(1161)  评论(3)    收藏  举报
 两个假设: 
  
1、已知数据库中所有的表默认的 Owner,如dbo(可以省略而取默认值) 
  
2、已知当前用户有权限访问 systemobjects 系统表 

  SQL 语句: 
  
select * from sysobjects where id =  
     
object_id(N'[dbo].[table_name]'
     
and OBJECTPROPERTY(id, N'IsUserTable'= 1  
  
'注:table_name 为实际要检查的表名 

  解释: 
  如果返回记录数为0则表明没有这个表,否则表示已经存在。 
   
  systemobjects 表中保存着数据库的所有表、视图和存贮过程等的信 
  息,检索这个系统表即可得到是否存在。此方法还适用于检查视图和存 
  贮过程,相应的标志要改为IsView(视图/查询)或者IsProcedure( 
  存贮过程),table_name 处为 view_name 或 procedure_name。