Quantcast
Channel: Forum SQL Server Database Engine
Viewing all articles
Browse latest Browse all 15889

SQL server Foreign Key multiple columns to one FK table column

$
0
0

Hi

i have set the following relationships

Table A = tblGLAccount  - primary key strAccountID

Table B = tblARinvoice -  i have three columns  strAccountID, strCOGSAccount, strInvAccount

all columns are same types and size

i set the following relationships

 ALTER TABLE [dbo].[tblARInvoiceDetail]  WITH NOCHECK ADD  CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount] FOREIGN KEY([strAccountID])
 REFERENCES [dbo].[tblGLAccount] ([strAccountID])
 NOT FOR REPLICATION

 ALTER TABLE [dbo].[tblARInvoiceDetail] CHECK CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount]

 ALTER TABLE [dbo].[tblARInvoiceDetail]  WITH NOCHECK ADD  CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_INV] FOREIGN KEY([strInvAccountID])
 REFERENCES [dbo].[tblGLAccount] ([strAccountID])
 NOT FOR REPLICATION

 ALTER TABLE [dbo].[tblARInvoiceDetail] CHECK CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_INV]

 ALTER TABLE [dbo].[tblARInvoiceDetail]  WITH NOCHECK ADD  CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_COGS] FOREIGN KEY([strCOGSAccountID])
 REFERENCES [dbo].[tblGLAccount] ([strAccountID])
 NOT FOR REPLICATION

 ALTER TABLE [dbo].[tblARInvoiceDetail] CHECK CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_COGS]

this works fine except for UPDATE CASCADE !!!!

I DON'T LIKE TO USE TRIGGERS!

is there a way to do someting similare to the following:

 ALTER TABLE [dbo].[tblARInvoiceDetail]  WITH NOCHECK ADD  CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount] FOREIGN KEY([strAccountID])
 REFERENCES [dbo].[tblGLAccount] ([strAccountID])
 ON UPDATE CASCADE NOT FOR REPLICATION

 ALTER TABLE [dbo].[tblARInvoiceDetail] CHECK CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount]

 ALTER TABLE [dbo].[tblARInvoiceDetail]  WITH NOCHECK ADD  CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_INV] FOREIGN KEY([strInvAccountID])
 REFERENCES [dbo].[tblGLAccount] ([strAccountID])
 ON UPDATE CASCADE NOT FOR REPLICATION

 ALTER TABLE [dbo].[tblARInvoiceDetail] CHECK CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_INV]
  

 ALTER TABLE [dbo].[tblARInvoiceDetail]  WITH NOCHECK ADD  CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_COGS] FOREIGN KEY([strCOGSAccountID])
 REFERENCES [dbo].[tblGLAccount] ([strAccountID])
  ON UPDATE CASCADENOT FOR REPLICATION

 ALTER TABLE [dbo].[tblARInvoiceDetail] CHECK CONSTRAINT [FK_tblARInvoiceDetail_tblGLAccount_COGS]

thank you

dchen


Viewing all articles
Browse latest Browse all 15889

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>