如何检查SQL中是否存在表

时间:2013-09-11 11:39:43

标签: sql stored-procedures

if(第一个表存在)然后从第一个表中选择日期并调用(过程) 这该怎么做?

2 个答案:

答案 0 :(得分:7)

我喜欢这种检查对象存在的方法。

IF Object_ID('dbo.your_table', 'U') IS NOT NULL
  BEGIN
    /* Table exists */
  END
ELSE
  BEGIN
    /* Table does not exist */
  END

Object_ID()函数返回指定对象的... object_id(!)。如果该对象不存在,则返回NULL。这里传递的第二个[可选]参数是 U ,它是对象类型(U =用户表,V = View,P = Procedure .. 。点击此处输入列了解详情here)。

基本上这是一个检查对象存在的简短方法(lazy? ahem

答案 1 :(得分:1)

在继续之前验证表是否存在;

IF  NOT EXISTS (SELECT * FROM sys.objects 
WHERE object_id = OBJECT_ID(N'[dbo].[YourTable]') AND type in (N'U'))