创建windows azure Sql表

创建windows azure Sql表,sql,azure,azure-sql-database,Sql,Azure,Azure Sql Database,在创建Windows Azura SQL数据库时,您可以使用此脚本 下面显示的脚本旨在防止两个表的名称完全相同时可能发生的冲突 我的问题是:有人能详细解释一下这段代码是如何工作的吗 注意:我对数据库和SQL的使用有很好的背景 如果不存在,请从sys.objects中选择* 其中object_id=object_id'[dbo].[Department]' 然后输入N'U': 包含在数据库中创建的每个用户定义、架构范围的对象的行 sys.objects.type: U=用户定义的表格 : 返回架构

在创建Windows Azura SQL数据库时,您可以使用此脚本

下面显示的脚本旨在防止两个表的名称完全相同时可能发生的冲突

我的问题是:有人能详细解释一下这段代码是如何工作的吗 注意:我对数据库和SQL的使用有很好的背景

如果不存在,请从sys.objects中选择* 其中object_id=object_id'[dbo].[Department]' 然后输入N'U'

包含在数据库中创建的每个用户定义、架构范围的对象的行

sys.objects.type:

U=用户定义的表格

:

返回架构范围对象的数据库对象标识号

因此,通过将对象名传递给指定类型为表的object_id函数,可以查询返回的对象id是否存在

如果不存在,则不会返回任何行,因此不满足包装语句中的条件:If not EXISTS

包含在数据库中创建的每个用户定义、架构范围的对象的行

sys.objects.type:

U=用户定义的表格

:

返回架构范围对象的数据库对象标识号

因此,通过将对象名传递给指定类型为表的object_id函数,可以查询返回的对象id是否存在


如果不存在,则不会返回任何行,因此不满足包装语句中的条件:如果不存在,SQL Azure还将支持sys.tables,它专注于表,这样您就不需要再指定对象的类型了-这是您正在查找的目录视图的性质所赋予的。谢谢,但是N'U'中type中的字母N是什么意思?如上所示。type=u表示用户定义的表。如果我没记错的话,N就是nvarchar的缩写。最有可能的是,SQL Azure还支持sys.tables,它专注于表,这样你就不需要再指定对象的类型了——这是你正在查找的目录视图的性质所赋予的,谢谢,但是N'U'中的字母N是什么意思?如上所列。type=u表示用户定义的表。如果我没记错的话,N就在那里。