2012-07-03 128 views
0

可能重复:
SQL Server: Check if table exists检查是否存在表的SQL Server

我与Java和MS SQL Server 2008的工作,我想只有在检查后创建一个表数据库中不存在。

public void addTestTable(){ 
    jdbcTemplate.execute(
      "create table [mydatabase].[dbo].[test] (ID integer not null identity, CREATEDBY varchar(50), CREATEDAT datetime, TITLE varchar(50), NRQUEST int, FORGROUP int, primary key(id))" 

      ); 

}

这是我CREATETABLE功能,我需要检查其他布尔函数,如果该表已经存在,但我不知道怎么写SQL语句吧。任何人都可以帮我吗?

+1

http://stackoverflow.com/questions/167576/sql-server-check-if-table-exists –

回答

1
IF OBJECT_ID('tablename','U') is not null 
-- table exists 

SELECT * 
    FROM sys.tables 
    WHERE name = 'mytable' 
    AND schema_id = SCHEMA_ID('myschema') 
0
IF NOT EXISTS (SELECT * 
       FROM INFORMATION_SCHEMA.TABLES 
       WHERE TABLE_SCHEMA = 'testSchema' 
       AND TABLE_NAME = 'testTable') 
BEGIN 
    --create table 
END 
+1

是'!'有效T-SQL的运算符? –

+0

感谢ig和YS。 – manurajhada

0

if not exists(select 1 from sys.tables where name ='test' and schema_id = SCHEMA_ID('dbo')) 
begin 
    create table [dbo].[test] (ID integer not null identity, CREATEDBY varchar(50), 
    CREATEDAT datetime, TITLE varchar(50), NRQUEST int, FORGROUP int, primary key(id)) 
    print 'table created' 
end 
go 
相关问题