检查是否存在名为bla的模式,如果没有,则创建一个模式

时间:2014-09-16 21:31:54

标签: tsql object database-schema

如何检查是否存在名为bla的架构?我想要像

这样的东西
if object_id(bla) is null
begin
 create SCHEMA EHS AUTHORIZATION dbo;
end

我知道我可以使用object_schema_name但是它将int作为输入。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

保持相同类型的习语。

IF Schema_id('Bla') IS NULL 
  BEGIN 
      EXEC('CREATE SCHEMA bla AUTHORIZATION dbo;') 
  END 

您还可以针对sys.schemas

进行EXISTS检查

IIRC CREATE SCHEMA必须自己使用EXEC