I am currently setting up a registration system where customers can registers their details and the details of the product, using ASP.net and MS SQL.
There is a column called customerID in the Custoemrs table, and a column of the same name in the Products table, so that I can have relationships between the tables.
For obvious reasons (ie. people that quit half-way through), I want to hold all the information until the end. The ID in the Customer table is unique, and auto-increasing, and therefore not assigned until the data enters the database.
However, I wish to submit information to the Products table at the same time, but what shall I put in for the custoemrID (which hasn't yet been assigned)
Thank you in advance for your help,
Nathair
It's a Referential Integrity issue. You need a ForeignKey with Cascading on UPDATE/DELETE to maintain the Referential Integrity on UPDATE/DELETE: take CustomerID column on Customer table as PrimaryKey, and CustomerID on Products table as ForeignKey, you can refer to this link:
http://msdn2.microsoft.com/en-us/library/ms177463.aspx
To maintain the Referential Integrity when INSERT, you can create an INSRET Trigger on the Customer table as following:
create trigger trg_Customer on Customer for insert
as
insert into Products select CustomerId,'myProduct' from inserted
go
You can take a look at this link:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_create2_7eeq.asp
|||Thanks for that. UPDATE/DELETE isn't really gonna be an issue.
Normally I hard-core my SQL statement into the actual page - however, this time I'm thinking of using an SP in MS SQL. For both ways, I am unsure on how to incorporate the trigger?
Thanks,
Nathair
No comments:
Post a Comment