sqlserver2008r2:如何查询某个数据库已有的schema?

新手上路,请多包涵

如何查询某个数据库已有的schema?
是这样:我在某个数据库新建一个schema,现在我需要在sql脚本中判断是否数据库的这个schema是否存在,
查了sys.objects,sys.shcemas,sys.system_objects似乎都没有我新建的schema。到底在哪里查询数据库的schema?

阅读 5.8k
2 个回答
新手上路,请多包涵

好吧,没人回答,我自己找到答案了,利用SCHEMA_ID内置函数,传递schema值作为参数,如果存在返回该schema对应的id,否则返回null

SELECT * FROM sys.schemas AS s

IF SCHEMA_ID('nnn') IS NULL EXEC sp_executesql N'CREATE SCHEMA nnn'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进