数据库和服务器对象模板概述
向数据库项目中添加某项时,该项的默认定义来自称为项目项模板的原型。 您可以自定义现有模板。 例如,如果您要向小组使用的所有模板中添加注释,则您可以决定自定义现有模板。 如果您发现自己创建的对象类似(即使是在不同的数据库中),则创建自定义模板可以有助于节省工作。
使用模板
以下主题包含有关项目项模板以及如何使用这些模板创建您自己的数据库项目项的信息:
Visual Studio 模板介绍
描述 Visual Studio 模板及其包含的内容。Visual Studio 模板元数据文件
说明模板必需的 .vstemplate 文件。项目模板和项模板之间的区别
说明项目模板和项模板在内容和用法上的差异。创建项模板
包含指向说明如何创建项模板的主题的链接。如何:查找和组织项目模板和项模板
说明 Visual Studio 在查找模板时所检查的文件夹。自定义项目模板和项模板
包含描述如何自定义项目模板和项模板的主题。
提示
如果从数据库项目导出项目模板或项模板,自定义模板将出现在“我的模板”下“Visual Studio 模板”节中的“添加新项”对话框中。 其他数据库对象和“添加新项”对话框中“Visual Studio 已安装的模板”下都不会显示该模板。
数据库对象模板
可以在 ItemTemplates 和 Items 文件夹中找到数据库对象的模板,这两个文件夹位于 Visual Studio 的安装文件夹中(如 D:\Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\SqlServer\ItemTemplates\)。每个数据库架构提供程序都有自己的模板。 例如,每个版本的 SQL Server 均有一个表模板。
数据库对象模板中的可替换参数
您可以在数据库对象模板中的 .sql 文件内使用以下可替换参数:
$ChildObjectName$
包含子数据库对象的名称。 定义索引等项的模板时使用此参数,其中要定义的对象与另一个数据库对象具有父-子关系。$ParentObjectName$
包含父数据库对象的名称。 定义索引等项的模板时使用此参数,其中要定义的对象与另一个数据库对象具有子-父关系。$rawname$
包含用户在**“添加新项”**对话框中赋予对象的未修改名称。 定义用户或角色等对象的模板时使用此参数。$SchemaName$
包含数据库架构的名称。 定义索引等项的模板时使用此参数,其中要定义的对象与另一个数据库对象具有子-父关系。 应该在父对象名前面加上架构名称前缀。 例如,可以指定:ALTER TABLE [$SchemaName$].[$ParentObjectName$] ADD CONSTRAINT [$ChildObjectName$] UNIQUE (column_1)。$SchemaQualifiedObjectName$
包含架构限定的对象名。 例如,在创建表脚本 CREATE TABLE $SchemaQualifiedObjectName$ (col1 INT NOT NULL) 中使用此参数。