在SQL SERVER上:
我在使用命令创建的数据库上有一个模式:
CREATE SCHEMA my-schema AUTHORIZATION [G_USER]
当我尝试使用以下语句搜索模式时,我没有得到任何结果。
SELECT * FROM sys.schemas WHERE name=N'my-schema'
然而,当我尝试
SELECT * FROM sys.schemas
我得到了一大堆其他模式,但没有我在数据库中创建的my-schema。
我做错了吗?任何帮助将不胜感激。
谢谢!
答案 0 :(得分:1)
这是我的语法(来自个人代码 - snipplets保险库)
if not exists(select 1 from information_schema.schemata where schema_name='my-schema')
BEGIN
print 'Creating the schema : [my-schema]'
EXEC ('CREATE SCHEMA [my-schema] AUTHORIZATION dbo;')
END
if exists(select 1 from information_schema.schemata where schema_name='my-schema')
BEGIN
print 'Schema Exists : [my-schema]'
END
(以下为我个人代码,以防万一)
if not exists(select 1 from information_schema.schemata where schema_name='LookupSchema')
BEGIN
EXEC ('CREATE SCHEMA LookupSchema AUTHORIZATION dbo;')
END
GO