<%==SIM:Set:private=Private==%><%==SIM:Set:protected=Protected==%><%==SIM:Set:package=Friend==%><%==SIM:Set:public=Public==%>
-- Table <%==SIM:Element.Name==%> --------------------------
<%==SIM:ForEach:Element.DocumentationLines==%>--<%==SIM:DocumentationLine==%> 
<%==SIM:EndFor==%>
CREATE TABLE [<%==SIM:Element.Name==%>]
(
<%==SIM:ForEach:Element.Attributes==%>[<%==SIM:Attribute.Name==%>] [<%==SIM:Attribute.TypeName==%>] <%==SIM:If:Attribute.HasTypeLength==%>(<%==SIM:Attribute.TypeLength==%>)<%==SIM:EndIf==%> <%==SIM:If:Attribute.IsNullable==%>NULL<%==SIM:EndIf==%><%==SIM:IfNot:Attribute.IsNullable==%>NOT NULL<%==SIM:EndIf==%><%==SIM:If:Attribute.IsAutoIncrement==%> IDENTITY (1, 1)<%==SIM:EndIf==%><%==SIM:If:Attribute.HasDefaultValue==%> DEFAULT <%==SIM:Attribute.DefaultValue==%><%==SIM:EndIf==%><%==SIM:IfNot:IsLastItem==%>,<%==SIM:EndIf==%>
<%==SIM:EndFor==%><%==SIM:If:Element.HasPrimaryKey==%>,
CONSTRAINT <%==SIM:Element.PrimaryKeyName==%> PRIMARY KEY (<%==SIM:ForEach:Element.PrimaryKeys==%><%==SIM:Key.Name==%><%==SIM:IfNot:IsLastItem==%>, <%==SIM:EndIf==%><%==SIM:EndFor==%>)<%==SIM:EndIf==%>
)<%==SIM:EndIf==%>
GO

<%==SIM:ForEach:Element.Attributes==%><%==SIM:If:Attribute.HasDescription==%>
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'<%==SIM:Attribute.Description==%>' , @level0type=N'SCHEMA',@level0name=N'<%==SIM:Element.GetTaggedValue(TableSchema,dbo)==%>', @level1type=N'TABLE',@level1name=N'<%==SIM:Element.Name==%>', @level2type=N'COLUMN',@level2name=N'<%==SIM:Attribute.Name==%>'
GO
<%==SIM:EndIf==%><%==SIM:EndFor==%>
<%==SIM:If:Or(Not(IsEmpty(Element.Description)),Element.HasTaggedValue(Description))==%>
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'<%==SIM:Coalesce(Element.Description,Element.GetTaggedValue(Description))==%>' , @level0type=N'SCHEMA',@level0name=N'<%==SIM:Element.GetTaggedValue(TableSchema,dbo)==%>', @level1type=N'TABLE',@level1name=N'<%==SIM:Element.Name==%>'
GO
<%==SIM:EndIf==%>

-- Indexes of table <%==SIM:Element.Name==%> ------------------------------
<%==SIM:ForEach:Element.Indexes==%>
CREATE NONCLUSTERED INDEX <%==SIM:Index.Name==%> ON <%==SIM:Element.Name==%>
(<%==SIM:ForEach:Index.Attributes==%>
	<%==SIM:IndexAttribute.Name==%><%==SIM:IfNot:IsLastItem==%>,<%==SIM:EndIf==%><%==SIM:EndFor==%>	
) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
<%==SIM:EndFor==%>
GO