CREATE TABLE [dbo].[StoreAddress]
(
[StoreAddressID] [int] NOT NULL IDENTITY(1, 1),
[StoreFID] [int] NOT NULL,
[AddressTypeFID] [int] NULL,
[Address1] [dbo].[Address] NULL,
[Address2] [dbo].[Address] NULL,
[Address3] [dbo].[Address] NULL,
[City] [dbo].[AddressCity] NULL,
[State] [dbo].[AddressState] NULL,
[PostalCode] [dbo].[AddressPostalCode] NULL,
[CountryCodeStandardFID] [int] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[StoreAddress] ADD CONSTRAINT [CK_StoreAddress_AddressType] CHECK (([dbo].[GetAddressTypeName]([AddressTypeFID])='Main'))
GO
ALTER TABLE [dbo].[StoreAddress] ADD CONSTRAINT [PK_StoreAddress] PRIMARY KEY NONCLUSTERED ([StoreAddressID]) WITH (FILLFACTOR=80) ON [PRIMARY]
GO
ALTER TABLE [dbo].[StoreAddress] ADD CONSTRAINT [IX_StoreAddress_AddressType] UNIQUE NONCLUSTERED ([StoreFID], [AddressTypeFID]) WITH (FILLFACTOR=80) ON [PRIMARY]
GO
ALTER TABLE [dbo].[StoreAddress] ADD CONSTRAINT [FK_StoreAddress_AddressType] FOREIGN KEY ([AddressTypeFID]) REFERENCES [dbo].[AddressType] ([AddressTypeID])
GO
ALTER TABLE [dbo].[StoreAddress] ADD CONSTRAINT [FK_StoreAddress_CountryCodeStandard] FOREIGN KEY ([CountryCodeStandardFID]) REFERENCES [dbo].[CountryCodeStandard] ([CountryCodeStandardID])
GO
ALTER TABLE [dbo].[StoreAddress] ADD CONSTRAINT [FK_StoreAddress_Store] FOREIGN KEY ([StoreFID]) REFERENCES [dbo].[Stores] ([StoreID]) ON DELETE CASCADE
GO
GRANT SELECT ON [dbo].[StoreAddress] TO [MssExec]
GRANT INSERT ON [dbo].[StoreAddress] TO [MssExec]
GRANT DELETE ON [dbo].[StoreAddress] TO [MssExec]
GRANT UPDATE ON [dbo].[StoreAddress] TO [MssExec]
GO